コード例 #1
0
 def test_dpt_subclasses_no_duplicate_dpt_number(self):
     """Test for duplicate value_type values in subclasses of DPTBase."""
     dpt_tuples = []
     for dpt in DPTBase.dpt_class_tree():
         if dpt.dpt_main_number is not None and dpt.dpt_sub_number is not None:
             dpt_tuples.append((dpt.dpt_main_number, dpt.dpt_sub_number))
     assert len(dpt_tuples) == len(set(dpt_tuples))
コード例 #2
0
 def test_dpt_subclasses_no_duplicate_value_types(self):
     """Test for duplicate value_type values in subclasses of DPTBase."""
     value_types = []
     for dpt in DPTBase.dpt_class_tree():
         if dpt.value_type is not None:
             value_types.append(dpt.value_type)
     assert len(value_types) == len(set(value_types))
コード例 #3
0
 def test_dpt_subclasses_definition_types(self):
     """Test value_type and dpt_*_number values for correct type in subclasses of DPTBase."""
     for dpt in DPTBase.dpt_class_tree():
         if dpt.value_type is not None:
             assert isinstance(
                 dpt.value_type, str
             ), f"Wrong type for value_type in {dpt} : {type(dpt.value_type)} - str `None` expected"
         if dpt.dpt_main_number is not None:
             assert isinstance(
                 dpt.dpt_main_number, int
             ), f"Wrong type for dpt_main_number in {dpt} : {type(dpt.dpt_main_number)} - int or `None` expected"
         if dpt.dpt_sub_number is not None:
             assert isinstance(
                 dpt.dpt_sub_number, int
             ), f"Wrong type for dpt_sub_number in {dpt} : {type(dpt.dpt_sub_number)} - int or `None` expected"
コード例 #4
0
 def test_dpt_abstract_subclasses_ignored(self):
     """Test if abstract base classes are ignored by dpt_class_tree and __recursive_subclasses__."""
     for dpt in DPTBase.dpt_class_tree():
         assert dpt not in (DPTBase, DPTNumeric)