def test_payload_valid(self): """Test payload_valid method.""" xknx = XKNX() remote_value = RemoteValueSensor(xknx=xknx, value_type="pulse") valid_payload = DPTArray(DPTValue1Ucount.to_knx(1)) assert remote_value.dpt_class == DPTValue1Ucount with pytest.raises(CouldNotParseTelegram): remote_value.payload_valid(None) with pytest.raises(CouldNotParseTelegram): remote_value.payload_valid(DPTArray((1, 2, 3, 4))) with pytest.raises(CouldNotParseTelegram): remote_value.payload_valid(DPTBinary(1)) assert remote_value.payload_valid(valid_payload) == valid_payload
def to_knx(self, value: int) -> DPTArray: """Convert value to payload.""" return DPTArray(DPTValue1Ucount.to_knx(value))
def test_value_50(self): """Test parsing and streaming of DPTValue1Ucount 50.""" assert DPTValue1Ucount.to_knx(50) == (0x32,) assert DPTValue1Ucount.from_knx((0x32,)) == 50
def test_to_knx_wrong_parameter(self): """Test parsing of DPTValue1Ucount with wrong value (string).""" with pytest.raises(ConversionError): DPTValue1Ucount.to_knx("fnord")
def test_to_knx_max_exceeded(self): """Test parsing of DPTValue1Ucount with wrong value (overflow).""" with pytest.raises(ConversionError): DPTValue1Ucount.to_knx(DPTValue1Ucount.value_max + 1)
def test_value_min(self): """Test parsing and streaming of DPTValue1Ucount 0.""" assert DPTValue1Ucount.to_knx(0) == (0x00,) assert DPTValue1Ucount.from_knx((0x00,)) == 0
def test_value_max(self): """Test parsing and streaming of DPTValue1Ucount 255.""" assert DPTValue1Ucount.to_knx(255) == (0xFF,) assert DPTValue1Ucount.from_knx((0xFF,)) == 255