def test_from_knx(self): """Test parsing DPTControlStepCode types from KNX.""" for raw in range(16): control = 1 if raw >> 3 else 0 valueref = {"control": control, "step_code": raw & 0x07} value = DPTControlStepCode.from_knx((raw, )) assert value == valueref
def test_from_knx_inverted(self): """Test parsing DPTControlStepCode types from KNX.""" for raw in range(16): control = 0 if raw >> 3 else 1 valueref = {"control": control, "step_code": raw & 0x07} value = DPTControlStepCode.from_knx(raw, invert=True) self.assertEqual(value, valueref)
def test_from_knx_wrong_value(self): """Test parsing invalid DPTControlStepCode type from KNX.""" with pytest.raises(ConversionError): DPTControlStepCode.from_knx((0x1F, ))