generated from jCloud/repository-template
Add feature to get the names of all sub-namespaces of a core.python.namespaces.PythonPackageNamespace
This commit is contained in:
@@ -5,11 +5,9 @@ from src.jcloud_docsgen.exceptions import NamespaceNotFoundError, InvalidNamespa
|
||||
class StrSubclass(str): ...
|
||||
|
||||
@pytest.mark.parametrize('namespace,expected_name', [
|
||||
(PythonPackageNamespace('', {}), ''),
|
||||
(PythonPackageNamespace(' ', {}), ' '),
|
||||
(PythonPackageNamespace('a', {}), 'a'),
|
||||
(PythonPackageNamespace('1', {}), '1'),
|
||||
(PythonPackageNamespace(StrSubclass(''), {}), StrSubclass('')),
|
||||
(PythonPackageNamespace(StrSubclass('a'), {}), StrSubclass('a')),
|
||||
])
|
||||
def test_PythonPackageNamespace_name_attribute(namespace, expected_name):
|
||||
assert namespace.name == expected_name
|
||||
@@ -29,15 +27,15 @@ namespace_e = PythonPackageNamespace('e', {'f': namespace_f})
|
||||
namespace_d = PythonPackageNamespace('d', {'e': namespace_e})
|
||||
|
||||
@pytest.mark.parametrize('namespace,sub_namespaces,expected', [
|
||||
(PythonPackageNamespace('', {
|
||||
(PythonPackageNamespace('name', {
|
||||
'a': namespace_a,
|
||||
'c': namespace_c
|
||||
}), ['c'], namespace_c),
|
||||
(PythonPackageNamespace('', {
|
||||
(PythonPackageNamespace('name', {
|
||||
'a': namespace_a,
|
||||
'c': namespace_c
|
||||
}), ['a'], namespace_a),
|
||||
(PythonPackageNamespace('', {
|
||||
(PythonPackageNamespace('name', {
|
||||
'a': namespace_a,
|
||||
'c': namespace_c
|
||||
}), ['a', 'b'], namespace_b),
|
||||
@@ -58,4 +56,13 @@ def test_PythonPackageNamespace_namespace(namespace: PythonPackageNamespace, sub
|
||||
def test_PythonPackageNamespace_namespace_exceptions(namespace, sub_namespaces, expected_exception, expected_exception_msg):
|
||||
with pytest.raises(expected_exception) as exc_info:
|
||||
namespace.namespace(sub_namespaces)
|
||||
assert str(exc_info.value) == expected_exception_msg
|
||||
assert str(exc_info.value) == expected_exception_msg
|
||||
|
||||
@pytest.mark.parametrize('namespace,expected', [
|
||||
(PythonPackageNamespace('a', {'b': PythonModuleNamespace('b')}), {'b': 'b'}),
|
||||
(PythonPackageNamespace('a', {'b': PythonModuleNamespace('b'), 'c': PythonPackageNamespace('c', {'d': PythonModuleNamespace('d')})}), {'b': 'b', 'c': {'d': 'd'}}),
|
||||
(PythonPackageNamespace('a', {}), {})
|
||||
])
|
||||
def test_PythonPackageNamespace_sub_namespace_names(namespace, expected):
|
||||
print('NAMESPACE NAMESPACE NAMESPACE NAMESPACE NAMESPACE:', namespace)
|
||||
assert namespace.sub_namespace_names() == expected
|
||||
Reference in New Issue
Block a user