@@ -859,6 +859,46 @@ def test_values_cardinality(self):
859859 with self .assertRaises (ValueError ):
860860 prop .val_cardinality = (5 , 1 )
861861
862+ def test_set_values_cardinality (self ):
863+ doc = Document ()
864+ sec = Section (name = "sec" , type = "sec_type" , parent = doc )
865+
866+ prop = Property (name = "prop" , val_cardinality = 1 , parent = sec )
867+
868+ # Test Property values cardinality min assignment
869+ prop .set_values_cardinality (1 )
870+ self .assertEqual (prop .val_cardinality , (1 , None ))
871+
872+ # Test Property values cardinality keyword min assignment
873+ prop .set_values_cardinality (min_val = 2 )
874+ self .assertEqual (prop .val_cardinality , (2 , None ))
875+
876+ # Test Property values cardinality max assignment
877+ prop .set_values_cardinality (None , 1 )
878+ self .assertEqual (prop .val_cardinality , (None , 1 ))
879+
880+ # Test Property values cardinality keyword max assignment
881+ prop .set_values_cardinality (max_val = 2 )
882+ self .assertEqual (prop .val_cardinality , (None , 2 ))
883+
884+ # Test Property values cardinality min max assignment
885+ prop .set_values_cardinality (1 , 2 )
886+ self .assertEqual (prop .val_cardinality , (1 , 2 ))
887+
888+ # Test Property values cardinality keyword min max assignment
889+ prop .set_values_cardinality (min_val = 2 , max_val = 5 )
890+ self .assertEqual (prop .val_cardinality , (2 , 5 ))
891+
892+ # Test Property values cardinality empty reset
893+ prop .set_values_cardinality ()
894+ self .assertIsNone (prop .val_cardinality )
895+
896+ # Test Property values cardinality keyword empty reset
897+ prop .set_values_cardinality (1 )
898+ self .assertIsNotNone (prop .val_cardinality )
899+ prop .set_values_cardinality (min_val = None , max_val = None )
900+ self .assertIsNone (prop .val_cardinality )
901+
862902
863903if __name__ == "__main__" :
864904 print ("TestProperty" )
0 commit comments