Add feature to compare core.python.namespaces.PythonPackageNamespace instances or core.python.namespaces.PythonModuleNamespace instances

This commit is contained in:
2026-04-08 13:33:12 +02:00
parent 286ba68c34
commit 66f06960a9
4 changed files with 39 additions and 4 deletions
@@ -10,3 +10,16 @@ class StrSubclass(str): ...
])
def test_PythonModuleNamespace_name_attribute(namespace, expected_name):
assert namespace.name == expected_name
@pytest.mark.parametrize('namespace1,namespace2,expected', [
(PythonModuleNamespace('a'), PythonModuleNamespace('a'), True),
(PythonModuleNamespace('b'), PythonModuleNamespace('b'), True),
(PythonModuleNamespace('1'), PythonModuleNamespace('1'), True),
(PythonModuleNamespace('42'), PythonModuleNamespace('42'), True),
(PythonModuleNamespace('a'), PythonModuleNamespace('b'), False),
(PythonModuleNamespace('0'), PythonModuleNamespace('-0'), False),
(PythonModuleNamespace('1'), PythonModuleNamespace('a'), False),
])
def test_PythonModuleNamespace___eq__(namespace1, namespace2, expected):
assert (namespace1 == namespace2) == expected
assert (namespace2 == namespace1) == expected
@@ -65,4 +65,14 @@ def test_PythonPackageNamespace_namespace_exceptions(namespace, sub_namespaces,
])
def test_PythonPackageNamespace_sub_namespace_names(namespace, expected):
print('NAMESPACE NAMESPACE NAMESPACE NAMESPACE NAMESPACE:', namespace)
assert namespace.sub_namespace_names() == expected
assert namespace.sub_namespace_names() == expected
@pytest.mark.parametrize('namespace1,namespace2,expected', [
(PythonPackageNamespace('a', {'b': PythonModuleNamespace('b')}), PythonPackageNamespace('a', {'b': PythonModuleNamespace('b')}), True),
(PythonPackageNamespace('a', {'b': PythonModuleNamespace('b'), 'c': PythonPackageNamespace('c', {'d': PythonModuleNamespace('d')})}), PythonPackageNamespace('a', {'b': PythonModuleNamespace('b'), 'c': PythonPackageNamespace('c', {'d': PythonModuleNamespace('d')})}), True),
(PythonPackageNamespace('a', {}), PythonPackageNamespace('a', {}), True),
(PythonPackageNamespace('a', {}), PythonPackageNamespace('b', {}), False),
])
def test_PythonPackageNamespace___eq__(namespace1, namespace2, expected):
assert (namespace1 == namespace2) == expected
assert (namespace2 == namespace1) == expected