Skip to content

Commit 7a63199

Browse files
committed
[test/document int] Add section test
1 parent 9f83048 commit 7a63199

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

test/test_doc_integration.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ def save_load(self):
4949
return jdoc, xdoc, ydoc
5050

5151
def test_id(self):
52+
"""
53+
This test checks the correct writing and loading of
54+
autogenerated and assigned document id.
55+
"""
5256
# Test correct save and load of generated id.
5357
jdoc, xdoc, ydoc = self.save_load()
5458

@@ -66,6 +70,10 @@ def test_id(self):
6670
self.assertEqual(ydoc.id, assigned_id)
6771

6872
def test_simple_attributes(self):
73+
"""
74+
This test checks correct writing and loading of 'simple'
75+
Document format attributes.
76+
"""
6977
author = "HPL"
7078
version = "ver64"
7179
date = "1890-08-20"
@@ -91,3 +99,68 @@ def test_simple_attributes(self):
9199
self.assertEqual(ydoc.version, version)
92100
self.assertEqual(str(ydoc.date), date)
93101
self.assertEqual(ydoc.repository, repository)
102+
103+
def test_children(self):
104+
"""
105+
This test checks the correct saving and loading of Section children of a Document.
106+
"""
107+
# Lvl 1 child Sections
108+
sec_lvl_11 = odml.Section(name="sec_11", parent=self.doc)
109+
_ = odml.Section(name="sec_12", parent=self.doc)
110+
111+
# Lvl 2 child Sections
112+
sec_lvl_21 = odml.Section(name="sec_21", parent=sec_lvl_11)
113+
_ = odml.Section(name="sec_22", parent=sec_lvl_11)
114+
_ = odml.Section(name="sec_23", parent=sec_lvl_11)
115+
116+
# Lvl 2 child Properties
117+
_ = odml.Property(name="prop_21", parent=sec_lvl_11)
118+
_ = odml.Property(name="prop_22", parent=sec_lvl_11)
119+
_ = odml.Property(name="prop_23", parent=sec_lvl_11)
120+
121+
# Lvl 3 child Sections
122+
_ = odml.Section(name="sec_31", parent=sec_lvl_21)
123+
_ = odml.Section(name="sec_32", parent=sec_lvl_21)
124+
_ = odml.Section(name="sec_33", parent=sec_lvl_21)
125+
_ = odml.Section(name="sec_34", parent=sec_lvl_21)
126+
127+
# Lvl 3 child Properties
128+
_ = odml.Property(name="prop_31", parent=sec_lvl_21)
129+
_ = odml.Property(name="prop_32", parent=sec_lvl_21)
130+
_ = odml.Property(name="prop_33", parent=sec_lvl_21)
131+
_ = odml.Property(name="prop_34", parent=sec_lvl_21)
132+
133+
jdoc, xdoc, ydoc = self.save_load()
134+
135+
# Test correct JSON save and load.
136+
self.assertEqual(len(jdoc.sections), 2)
137+
138+
jsec_lvl_1 = jdoc[sec_lvl_11.name]
139+
self.assertEqual(len(jsec_lvl_1.sections), 3)
140+
self.assertEqual(len(jsec_lvl_1.properties), 3)
141+
142+
jsec_lvl_2 = jsec_lvl_1[sec_lvl_21.name]
143+
self.assertEqual(len(jsec_lvl_2.sections), 4)
144+
self.assertEqual(len(jsec_lvl_2.properties), 4)
145+
146+
# Test correct XML save and load.
147+
self.assertEqual(len(xdoc.sections), 2)
148+
149+
xsec_lvl_1 = xdoc[sec_lvl_11.name]
150+
self.assertEqual(len(xsec_lvl_1.sections), 3)
151+
self.assertEqual(len(xsec_lvl_1.properties), 3)
152+
153+
xsec_lvl_2 = xsec_lvl_1[sec_lvl_21.name]
154+
self.assertEqual(len(xsec_lvl_2.sections), 4)
155+
self.assertEqual(len(xsec_lvl_2.properties), 4)
156+
157+
# Test correct YAML save and load.
158+
self.assertEqual(len(ydoc.sections), 2)
159+
160+
ysec_lvl_1 = ydoc[sec_lvl_11.name]
161+
self.assertEqual(len(ysec_lvl_1.sections), 3)
162+
self.assertEqual(len(ysec_lvl_1.properties), 3)
163+
164+
ysec_lvl_2 = ysec_lvl_1[sec_lvl_21.name]
165+
self.assertEqual(len(ysec_lvl_2.sections), 4)
166+
self.assertEqual(len(ysec_lvl_2.properties), 4)

0 commit comments

Comments
 (0)