78 lines
3 KiB
Python
78 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",
|
||
|
)
|