depot/nix/pkgs/factorio-mods/lock_mods_test.py

77 lines
3 KiB
Python

#!/usr/bin/env python3
from lock_mods import *
class TestDependency:
def test_from_str_dependency_type(self):
assert Dependency.from_str("a") == Dependency(
dependency_type=DependencyType.HARD,
dependent_on="a",
version_constraint_type=VersionConstraintType.NONE,
version_constraint=None,
)
assert Dependency.from_str("! a") == Dependency(
dependency_type=DependencyType.INCOMPATIBLE_WITH,
dependent_on="a",
version_constraint_type=VersionConstraintType.NONE,
version_constraint=None,
)
assert Dependency.from_str("? a") == Dependency(
dependency_type=DependencyType.OPTIONAL,
dependent_on="a",
version_constraint_type=VersionConstraintType.NONE,
version_constraint=None,
)
assert Dependency.from_str("(?) a") == Dependency(
dependency_type=DependencyType.HIDDEN_OPTIONAL,
dependent_on="a",
version_constraint_type=VersionConstraintType.NONE,
version_constraint=None,
)
assert Dependency.from_str("~ a") == Dependency(
dependency_type=DependencyType.LOAD_ORDER_IGNORED,
dependent_on="a",
version_constraint_type=VersionConstraintType.NONE,
version_constraint=None,
)
def test_from_str_version_constraint(self):
assert Dependency.from_str("hactorio") == Dependency(
dependency_type=DependencyType.HARD,
dependent_on="hactorio",
version_constraint_type=VersionConstraintType.NONE,
version_constraint=None,
)
assert Dependency.from_str("hactorio > 0.1") == Dependency(
dependency_type=DependencyType.HARD,
dependent_on="hactorio",
version_constraint_type=VersionConstraintType.GREATER,
version_constraint="0.1",
)
assert Dependency.from_str("hactorio >= 0.1") == Dependency(
dependency_type=DependencyType.HARD,
dependent_on="hactorio",
version_constraint_type=VersionConstraintType.GREATER_EQUAL,
version_constraint="0.1",
)
assert Dependency.from_str("hactorio < 0.1") == Dependency(
dependency_type=DependencyType.HARD,
dependent_on="hactorio",
version_constraint_type=VersionConstraintType.LESS,
version_constraint="0.1",
)
assert Dependency.from_str("hactorio <= 0.1") == Dependency(
dependency_type=DependencyType.HARD,
dependent_on="hactorio",
version_constraint_type=VersionConstraintType.LESS_EQUAL,
version_constraint="0.1",
)
def test_from_str_complex(self):
assert Dependency.from_str("(?) hactorio <= 0.1") == Dependency(
dependency_type=DependencyType.HIDDEN_OPTIONAL,
dependent_on="hactorio",
version_constraint_type=VersionConstraintType.LESS_EQUAL,
version_constraint="0.1",
)