generated from jCloud/repository-template
style: limit line length to 79 characters
Limited the lengths of all lines to 79 characters (if possible). Additionally, some other lines were breaked for consistence.
This commit is contained in:
25 files changed
+6726
-1071
No files matched your search
@@ -12,16 +12,40 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from src.jcloud_docsgen.core.python.namespaces import PythonPackageNamespace, PythonModuleNamespace
|
||||
from src.jcloud_docsgen.core.python.namespaces import (
|
||||
PythonPackageNamespace,
|
||||
PythonModuleNamespace
|
||||
)
|
||||
import pytest
|
||||
from src.jcloud_docsgen.exceptions import NamespaceNotFoundError, InvalidNamespaceError
|
||||
from src.jcloud_docsgen.exceptions import (
|
||||
NamespaceNotFoundError,
|
||||
InvalidNamespaceError
|
||||
)
|
||||
|
||||
class StrSubclass(str): ...
|
||||
|
||||
@pytest.mark.parametrize('namespace,expected_name', [
|
||||
(PythonPackageNamespace('a', []), 'a'),
|
||||
(PythonPackageNamespace('1', []), '1'),
|
||||
(PythonPackageNamespace(StrSubclass('a'), []), StrSubclass('a')),
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'a',
|
||||
[]
|
||||
),
|
||||
'a'
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'1',
|
||||
[]
|
||||
),
|
||||
'1'
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
StrSubclass('a'),
|
||||
[]
|
||||
),
|
||||
StrSubclass('a')
|
||||
),
|
||||
])
|
||||
def test_PythonPackageNamespace_name_attribute(namespace, expected_name):
|
||||
assert namespace.name == expected_name
|
||||
@@ -41,68 +65,225 @@ namespace_e = PythonPackageNamespace('e', [namespace_f])
|
||||
namespace_d = PythonPackageNamespace('d', [namespace_e])
|
||||
|
||||
@pytest.mark.parametrize('namespace,sub_namespaces,expected', [
|
||||
(PythonPackageNamespace('name', [
|
||||
namespace_a,
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'name',
|
||||
[namespace_a, namespace_c]
|
||||
),
|
||||
['c'],
|
||||
namespace_c
|
||||
]), ['c'], namespace_c),
|
||||
(PythonPackageNamespace('name', [
|
||||
namespace_a,
|
||||
namespace_c
|
||||
]), ['a'], namespace_a),
|
||||
(PythonPackageNamespace('name', [
|
||||
namespace_a,
|
||||
namespace_c
|
||||
]), ['a', 'b'], namespace_b),
|
||||
(namespace_d, ['e', 'f', 'g', 'h', 'i'], namespace_i),
|
||||
(namespace_d, ['e', 'f', 'g', 'h', 'i', 'j'], namespace_j),
|
||||
(namespace_d, ['e', 'f', 'g', 'h', 'i', 'j', 'k'], namespace_k),
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'name',
|
||||
[namespace_a, namespace_c]
|
||||
),
|
||||
['a'],
|
||||
namespace_a
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'name',
|
||||
[namespace_a, namespace_c]
|
||||
),
|
||||
['a', 'b'],
|
||||
namespace_b
|
||||
),
|
||||
(
|
||||
namespace_d,
|
||||
['e', 'f', 'g', 'h', 'i'],
|
||||
namespace_i
|
||||
),
|
||||
(
|
||||
namespace_d,
|
||||
['e', 'f', 'g', 'h', 'i', 'j'],
|
||||
namespace_j
|
||||
),
|
||||
(
|
||||
namespace_d,
|
||||
['e', 'f', 'g', 'h', 'i', 'j', 'k'],
|
||||
namespace_k
|
||||
),
|
||||
])
|
||||
def test_PythonPackageNamespace_namespace(namespace: PythonPackageNamespace, sub_namespaces, expected):
|
||||
def test_PythonPackageNamespace_namespace(
|
||||
namespace: PythonPackageNamespace,
|
||||
sub_namespaces,
|
||||
expected
|
||||
):
|
||||
assert namespace.namespace(sub_namespaces) == expected
|
||||
|
||||
@pytest.mark.parametrize('namespace,sub_namespaces,expected_exception,expected_exception_msg', [
|
||||
(namespace_a, ['c'], NamespaceNotFoundError, 'no such namespace: c'),
|
||||
(namespace_h, ['i', 'k'], NamespaceNotFoundError, 'no such namespace: k'),
|
||||
(namespace_a, ['b', ''], InvalidNamespaceError, 'invalid namespace'),
|
||||
(namespace_a, ['', 'b'], InvalidNamespaceError, 'invalid namespace'),
|
||||
(namespace_a, ['b', '', 'b'], InvalidNamespaceError, 'invalid namespace'),
|
||||
])
|
||||
def test_PythonPackageNamespace_namespace_exceptions(namespace, sub_namespaces, expected_exception, expected_exception_msg):
|
||||
@pytest.mark.parametrize(
|
||||
'namespace,sub_namespaces,expected_exception,expected_exception_msg',
|
||||
[
|
||||
(
|
||||
namespace_a,
|
||||
['c'],
|
||||
NamespaceNotFoundError,
|
||||
'no such namespace: c'
|
||||
),
|
||||
(
|
||||
namespace_h,
|
||||
['i', 'k'],
|
||||
NamespaceNotFoundError,
|
||||
'no such namespace: k'
|
||||
),
|
||||
(
|
||||
namespace_a,
|
||||
['b', ''],
|
||||
InvalidNamespaceError,
|
||||
'invalid namespace'
|
||||
),
|
||||
(
|
||||
namespace_a,
|
||||
['', 'b'],
|
||||
InvalidNamespaceError,
|
||||
'invalid namespace'
|
||||
),
|
||||
(
|
||||
namespace_a,
|
||||
['b', '', 'b'],
|
||||
InvalidNamespaceError,
|
||||
'invalid namespace'
|
||||
),
|
||||
]
|
||||
)
|
||||
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
|
||||
|
||||
@pytest.mark.parametrize('namespace,expected', [
|
||||
(PythonPackageNamespace('a', [PythonModuleNamespace('b')]), {'b': 'b'}),
|
||||
(PythonPackageNamespace('a', [PythonModuleNamespace('b'), PythonPackageNamespace('c', [PythonModuleNamespace('d')])]), {'b': 'b', 'c': {'d': 'd'}}),
|
||||
(PythonPackageNamespace('a', []), {})
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'a',
|
||||
[PythonModuleNamespace('b')]
|
||||
),
|
||||
{'b': 'b'}
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'a',
|
||||
[
|
||||
PythonModuleNamespace('b'),
|
||||
PythonPackageNamespace(
|
||||
'c',
|
||||
[PythonModuleNamespace('d')]
|
||||
)
|
||||
]
|
||||
),
|
||||
{
|
||||
'b': 'b',
|
||||
'c': {'d': 'd'}
|
||||
}
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace('a', []),
|
||||
{}
|
||||
)
|
||||
])
|
||||
def test_PythonPackageNamespace_sub_namespace_names(namespace, expected):
|
||||
assert namespace.sub_namespace_names() == expected
|
||||
|
||||
@pytest.mark.parametrize('namespace1,namespace2,expected', [
|
||||
(PythonPackageNamespace('a', [PythonModuleNamespace('b')]), PythonPackageNamespace('a', [PythonModuleNamespace('b')]), True),
|
||||
(PythonPackageNamespace('a', [PythonModuleNamespace('b'), PythonPackageNamespace('c', [PythonModuleNamespace('d')])]), PythonPackageNamespace('a', [PythonModuleNamespace('b'), PythonPackageNamespace('c', [PythonModuleNamespace('d')])]), True),
|
||||
(PythonPackageNamespace('a', []), PythonPackageNamespace('a', []), True),
|
||||
(PythonPackageNamespace('a', []), PythonPackageNamespace('b', []), False),
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'a',
|
||||
[PythonModuleNamespace('b')]
|
||||
),
|
||||
PythonPackageNamespace(
|
||||
'a',
|
||||
[PythonModuleNamespace('b')]
|
||||
),
|
||||
True
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace(
|
||||
'a',
|
||||
[
|
||||
PythonModuleNamespace('b'),
|
||||
PythonPackageNamespace(
|
||||
'c',
|
||||
[PythonModuleNamespace('d')]
|
||||
)
|
||||
]
|
||||
),
|
||||
PythonPackageNamespace(
|
||||
'a',
|
||||
[
|
||||
PythonModuleNamespace('b'),
|
||||
PythonPackageNamespace(
|
||||
'c',
|
||||
[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
|
||||
|
||||
@pytest.mark.parametrize('namespace,expected', [
|
||||
(PythonPackageNamespace('a', []), 'PythonPackageNamespace(\'a\', [])'),
|
||||
(PythonPackageNamespace('1', []), 'PythonPackageNamespace(\'1\', [])'),
|
||||
(PythonPackageNamespace(StrSubclass('a'), []), 'PythonPackageNamespace(\'a\', [])'),
|
||||
(namespace_a, 'PythonPackageNamespace(\'a\', [PythonModuleNamespace(\'b\')])'),
|
||||
(namespace_d, 'PythonPackageNamespace(\'d\', [PythonPackageNamespace(\'e\', [PythonPackageNamespace(\'f\', [PythonPackageNamespace(\'g\', [PythonPackageNamespace(\'h\', [PythonPackageNamespace(\'i\', [PythonPackageNamespace(\'j\', [PythonModuleNamespace(\'k\')])])])])])])])')
|
||||
(
|
||||
PythonPackageNamespace('a', []),
|
||||
'PythonPackageNamespace(\'a\', [])'
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace('1', []),
|
||||
'PythonPackageNamespace(\'1\', [])'
|
||||
),
|
||||
(
|
||||
PythonPackageNamespace(StrSubclass('a'), []),
|
||||
'PythonPackageNamespace(\'a\', [])'
|
||||
),
|
||||
(
|
||||
namespace_a,
|
||||
'PythonPackageNamespace(\'a\', [PythonModuleNamespace(\'b\')])'
|
||||
),
|
||||
(
|
||||
namespace_d,
|
||||
(
|
||||
'PythonPackageNamespace(\'d\', [PythonPackageNamespac'
|
||||
'e(\'e\', [PythonPackageNamespace(\'f\', [PythonPacka'
|
||||
'geNamespace(\'g\', [PythonPackageNamespace(\'h\', [P'
|
||||
'ythonPackageNamespace(\'i\', [PythonPackageNamespace'
|
||||
'(\'j\', [PythonModuleNamespace(\'k\')])])])])])])])'
|
||||
)
|
||||
)
|
||||
])
|
||||
def test_PythonPackageNamespace_string_representation(namespace, expected):
|
||||
assert repr(namespace) == expected
|
||||
|
||||
@pytest.mark.parametrize('namespace,new_namespace,expected', [
|
||||
(PythonPackageNamespace('a', []), PythonModuleNamespace('b'), PythonPackageNamespace('a', [PythonModuleNamespace('b')]))
|
||||
(
|
||||
PythonPackageNamespace('a', []),
|
||||
PythonModuleNamespace('b'),
|
||||
PythonPackageNamespace(
|
||||
'a',
|
||||
[PythonModuleNamespace('b')]
|
||||
)
|
||||
)
|
||||
])
|
||||
def test_PythonPackageNamespace___getitem__(namespace, new_namespace, expected):
|
||||
def test_PythonPackageNamespace___getitem__(
|
||||
namespace,
|
||||
new_namespace,
|
||||
expected
|
||||
):
|
||||
namespace.add(new_namespace)
|
||||
assert namespace == expected
|
||||
Reference in new issue
Block a user