generated from jCloud/repository-template
Merge pull request 'Fix(python-generator): Python namespaces comparision type check' (#41) from fix/python-namespace-comparision-type-check into main
Reviewed-on: #41
This commit was merged in pull request #41.
This commit is contained in:
3 files changed
+32
-3
No files matched your search
@@ -156,7 +156,7 @@ class PythonPackageNamespace(PythonNamespace):
|
||||
# For performance reasons, is not called self.sub_namespace_names
|
||||
# if the name attribute does not match, which can be quickly
|
||||
# verified
|
||||
if self.name != value.name:
|
||||
if not (isinstance(value, type(self)) and self.name == value.name):
|
||||
return False
|
||||
|
||||
return value.sub_namespace_names() == self.sub_namespace_names()
|
||||
@@ -223,4 +223,4 @@ class PythonModuleNamespace(PythonNamespace):
|
||||
super().__init__(name)
|
||||
|
||||
def __eq__(self, value: PythonModuleNamespace) -> bool:
|
||||
return self.name == value.name
|
||||
return isinstance(value, type(self)) and self.name == value.name
|
||||
@@ -14,7 +14,11 @@
|
||||
|
||||
import pytest
|
||||
|
||||
from src.jcloud_docsgen.core.python.namespaces import PythonModuleNamespace
|
||||
from src.jcloud_docsgen.core.python.namespaces import (
|
||||
PythonModuleNamespace,
|
||||
PythonNamespace,
|
||||
PythonPackageNamespace,
|
||||
)
|
||||
|
||||
|
||||
class StrSubclass(str): ...
|
||||
@@ -42,6 +46,10 @@ def test_PythonModuleNamespace_name_attribute(namespace, expected_name):
|
||||
(PythonModuleNamespace('a'), PythonModuleNamespace('b'), False),
|
||||
(PythonModuleNamespace('0'), PythonModuleNamespace('-0'), False),
|
||||
(PythonModuleNamespace('1'), PythonModuleNamespace('a'), False),
|
||||
(PythonModuleNamespace('a'), 'a', False),
|
||||
(PythonModuleNamespace('a'), 'b', False),
|
||||
(PythonModuleNamespace('a'), PythonPackageNamespace('a', []), False),
|
||||
(PythonModuleNamespace('a'), PythonNamespace('a'), False),
|
||||
],
|
||||
)
|
||||
def test_PythonModuleNamespace___eq__(namespace1, namespace2, expected):
|
||||
|
||||
@@ -16,6 +16,7 @@ import pytest
|
||||
|
||||
from src.jcloud_docsgen.core.python.namespaces import (
|
||||
PythonModuleNamespace,
|
||||
PythonNamespace,
|
||||
PythonPackageNamespace,
|
||||
)
|
||||
from src.jcloud_docsgen.exceptions import (
|
||||
@@ -256,6 +257,26 @@ def test_PythonPackageNamespace_sub_namespace_names(namespace, expected):
|
||||
PythonPackageNamespace('b', []),
|
||||
False,
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace('a', []),
|
||||
'a',
|
||||
False,
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace('a', []),
|
||||
'b',
|
||||
False,
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace('a', []),
|
||||
PythonModuleNamespace('a'),
|
||||
False,
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace('a', []),
|
||||
PythonNamespace('a'),
|
||||
False,
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_PythonPackageNamespace___eq__(namespace1, namespace2, expected):
|
||||
|
||||
Reference in new issue
Block a user