def test_to_knx(self): """Test to_knx function with normal operation.""" xknx = XKNX() rv_0 = RemoteValueRaw(xknx, payload_length=0) rv_1 = RemoteValueRaw(xknx, payload_length=1) rv_2 = RemoteValueRaw(xknx, payload_length=2) assert rv_0.to_knx(1) == DPTBinary(True) assert rv_0.to_knx(4) == DPTBinary(4) assert rv_1.to_knx(100) == DPTArray((0x64, )) assert rv_2.to_knx(100) == DPTArray((0x00, 0x64))
def test_to_knx_error(self): """Test to_knx function with wrong parameters.""" xknx = XKNX() rv_0 = RemoteValueRaw(xknx, payload_length=0, group_address="1/0/0") rv_1 = RemoteValueRaw(xknx, payload_length=1, group_address="1/1/1") rv_2 = RemoteValueRaw(xknx, payload_length=2, group_address="1/2/2") with pytest.raises(ConversionError): rv_0.to_knx(-1) with pytest.raises(ConversionError): rv_0.to_knx(64) with pytest.raises(ConversionError): rv_0.to_knx(5.5) with pytest.raises(ConversionError): rv_0.to_knx("a") with pytest.raises(ConversionError): rv_1.to_knx(-1) with pytest.raises(ConversionError): rv_1.to_knx(256) with pytest.raises(ConversionError): rv_1.to_knx(5.5) with pytest.raises(ConversionError): rv_1.to_knx("a") with pytest.raises(ConversionError): rv_2.to_knx(-1) with pytest.raises(ConversionError): rv_2.to_knx(65536) with pytest.raises(ConversionError): rv_2.to_knx(5.5) with pytest.raises(ConversionError): rv_2.to_knx("a")