Skip to content

Commit 4253932

Browse files
committed
[test/section] Add sec cardinality tests
Adds test for both sec_cardinality setter and the set_sections_cardinality convenience method.
1 parent f6fefe0 commit 4253932

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

test/test_section.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,6 +1066,34 @@ def test_properties_cardinality(self):
10661066
# Use general method to reduce redundancy
10671067
self._test_cardinality_re_assignment(sec, 'prop_cardinality')
10681068

1069+
def test_sections_cardinality(self):
1070+
"""
1071+
Tests the basic assignment rules for Section sections cardinality
1072+
on init and re-assignment but does not test sections assignment or
1073+
the actual cardinality validation.
1074+
"""
1075+
doc = Document()
1076+
1077+
# -- Test set cardinality on Section init
1078+
# Test empty init
1079+
sec_card_none = Section(name="sec_cardinality_none", type="test", parent=doc)
1080+
self.assertIsNone(sec_card_none.sec_cardinality)
1081+
1082+
# Test single int max init
1083+
sec_card_max = Section(name="sec_cardinality_max", sec_cardinality=10, parent=doc)
1084+
self.assertEqual(sec_card_max.sec_cardinality, (None, 10))
1085+
1086+
# Test tuple init
1087+
sec_card_min = Section(name="sec_cardinality_min", sec_cardinality=(2, None), parent=doc)
1088+
self.assertEqual(sec_card_min.sec_cardinality, (2, None))
1089+
1090+
# -- Test Section properties cardinality re-assignment
1091+
sec = Section(name="sec", sec_cardinality=(None, 10), parent=doc)
1092+
self.assertEqual(sec.sec_cardinality, (None, 10))
1093+
1094+
# Use general method to reduce redundancy
1095+
self._test_cardinality_re_assignment(sec, 'sec_cardinality')
1096+
10691097
def _test_set_cardinality_method(self, obj, obj_attribute, set_cardinality_method):
10701098
"""
10711099
Tests the basic set convenience method of both Section properties and
@@ -1119,6 +1147,13 @@ def test_set_properties_cardinality(self):
11191147
# Use general method to reduce redundancy
11201148
self._test_set_cardinality_method(sec, 'prop_cardinality', sec.set_properties_cardinality)
11211149

1150+
def test_set_sections_cardinality(self):
1151+
doc = Document()
1152+
sec = Section(name="sec", type="test", parent=doc)
1153+
1154+
# Use general method to reduce redundancy
1155+
self._test_set_cardinality_method(sec, 'sec_cardinality', sec.set_sections_cardinality)
1156+
11221157
def test_link(self):
11231158
pass
11241159

0 commit comments

Comments
 (0)