Skip to content

Commit 585b0d9

Browse files
committed
[test/section] Add name check on name set test
1 parent fbb0dfb commit 585b0d9

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

test/test_section.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,35 @@ def test_name(self):
5454
s = Section(name=name)
5555
self.assertEqual(s.name, name)
5656

57+
# Test name can be properly set on single and connected Sections
58+
sec = Section()
59+
self.assertNotEqual(sec.name, "sec")
60+
sec.name = "sec"
61+
self.assertEqual(sec.name, "sec")
62+
63+
subsec_a = Section(parent=sec)
64+
self.assertNotEqual(subsec_a.name, "subsec_a")
65+
subsec_a.name = "subsec_a"
66+
self.assertEqual(subsec_a.name, "subsec_a")
67+
68+
# Test subsection name can be changed with siblings
69+
subsec_b = Section(name="subsec_b", parent=sec)
70+
self.assertEqual(subsec_b.name, "subsec_b")
71+
subsec_b.name = "subsec"
72+
self.assertEqual(subsec_b.name, "subsec")
73+
74+
# Test subsection name set will fail on existing sibling with same name
75+
with self.assertRaises(KeyError):
76+
subsec_b.name = "subsec_a"
77+
self.assertEqual(subsec_b.name, "subsec")
78+
79+
# Test section name set will fail on existing same name document sibling
80+
doc = Document()
81+
sec_a = Section(name="a", parent=doc)
82+
sec_b = Section(name="b", parent=doc)
83+
with self.assertRaises(KeyError):
84+
sec_b.name = "a"
85+
5786
def test_parent(self):
5887
s = Section("Section")
5988
self.assertIsNone(s.parent)

0 commit comments

Comments
 (0)