Skip to content

Commit a56aaa8

Browse files
vladistandalito
authored andcommitted
Convert dictutils to pytest
1 parent 2502866 commit a56aaa8

File tree

1 file changed

+40
-51
lines changed

1 file changed

+40
-51
lines changed
Lines changed: 40 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
1-
import unittest
2-
31
import linkml_runtime.utils.yamlutils as yutils
42
from linkml_runtime.linkml_model.meta import ClassDefinition, ElementName, SlotDefinition
53
from linkml_runtime.utils.dictutils import as_simple_dict
6-
from tests.support.test_environment import TestEnvironmentTestCase
7-
from tests.test_utils.environment import env
84

95

106
def _signature(d):
@@ -27,50 +23,43 @@ def _is_basic_type(obj):
2723
return _is_python_type(obj) or isinstance(obj, ElementName)
2824

2925

30-
class DictUtilTestCase(TestEnvironmentTestCase):
31-
env = env
32-
33-
def test_as_dict(self):
34-
obj = ClassDefinition("test class")
35-
obj2 = ClassDefinition("test class", slot_usage={"foo": SlotDefinition(name="foo", range="bar")})
36-
# obj2.slot_usage = {'foo': SlotDefinition(name='foo', range='bar')}
37-
38-
# as dict preserves nones and empty lists
39-
d = yutils.as_dict(obj)
40-
assert isinstance(d, dict)
41-
assert d["name"] == "test class"
42-
assert d["id_prefixes"] == []
43-
assert d["description"] is None
44-
for x in _signature(d):
45-
if not _is_python_type(x):
46-
print(f" ****={x} {type(x)}")
47-
assert all(_is_basic_type(x) for x in _signature(d))
48-
49-
d2 = yutils.as_dict(obj2)
50-
print(d2)
51-
assert d2["slot_usage"]["foo"]["range"] == "bar"
52-
assert all(_is_basic_type(x) for x in _signature(d2))
53-
54-
# as_simple_dict removes nones and empty lists
55-
d = as_simple_dict(obj)
56-
print(d)
57-
assert isinstance(d, dict)
58-
assert all(_is_python_type(x) for x in _signature(d))
59-
assert d == {"name": "test class"}
60-
61-
d2 = as_simple_dict(obj2)
62-
print(d2)
63-
assert isinstance(d2, dict)
64-
assert d2 == {"name": "test class", "slot_usage": {"foo": {"name": "foo", "range": "bar"}}}
65-
66-
s = yutils.as_yaml(obj)
67-
print(s)
68-
assert s.strip() == "name: test class"
69-
70-
s2 = yutils.as_yaml(obj2)
71-
print(s2)
72-
assert s2.strip().startswith("name: test class")
73-
74-
75-
if __name__ == "__main__":
76-
unittest.main()
26+
def test_as_dict():
27+
obj = ClassDefinition("test class")
28+
obj2 = ClassDefinition("test class", slot_usage={"foo": SlotDefinition(name="foo", range="bar")})
29+
# obj2.slot_usage = {'foo': SlotDefinition(name='foo', range='bar')}
30+
31+
# as dict preserves nones and empty lists
32+
d = yutils.as_dict(obj)
33+
assert isinstance(d, dict)
34+
assert d["name"] == "test class"
35+
assert d["id_prefixes"] == []
36+
assert d["description"] is None
37+
for x in _signature(d):
38+
if not _is_python_type(x):
39+
print(f" ****={x} {type(x)}")
40+
assert all(_is_basic_type(x) for x in _signature(d))
41+
42+
d2 = yutils.as_dict(obj2)
43+
print(d2)
44+
assert d2["slot_usage"]["foo"]["range"] == "bar"
45+
assert all(_is_basic_type(x) for x in _signature(d2))
46+
47+
# as_simple_dict removes nones and empty lists
48+
d = as_simple_dict(obj)
49+
print(d)
50+
assert isinstance(d, dict)
51+
assert all(_is_python_type(x) for x in _signature(d))
52+
assert d == {"name": "test class"}
53+
54+
d2 = as_simple_dict(obj2)
55+
print(d2)
56+
assert isinstance(d2, dict)
57+
assert d2 == {"name": "test class", "slot_usage": {"foo": {"name": "foo", "range": "bar"}}}
58+
59+
s = yutils.as_yaml(obj)
60+
print(s)
61+
assert s.strip() == "name: test class"
62+
63+
s2 = yutils.as_yaml(obj2)
64+
print(s2)
65+
assert s2.strip().startswith("name: test class")

0 commit comments

Comments
 (0)