def test_from_knx_unpack_error(self): """Test DPT2ByteSigned parsing with unpack error.""" with patch("struct.unpack") as unpack_mock: unpack_mock.side_effect = struct.error() with pytest.raises(ConversionError): DPT2ByteSigned.from_knx((0x01, 0x23))
def test_signed_wrong_value_from_knx(self): """Test DPT2ByteSigned parsing with wrong value.""" with pytest.raises(ConversionError): DPT2ByteSigned.from_knx((0xFF, 0x4E, 0x12))
def test_signed_value_min_value(self): """Test DPT2ByteSigned parsing and streaming with null values.""" assert DPT2ByteSigned.to_knx(-20480) == (0xB0, 0x00) assert DPT2ByteSigned.from_knx((0xB0, 0x00)) == -20480
def test_signed_value_0123(self): """Test DPT2ByteSigned parsing and streaming.""" assert DPT2ByteSigned.to_knx(291) == (0x01, 0x23) assert DPT2ByteSigned.from_knx((0x01, 0x23)) == 291
def test_signed_value_max_value(self): """Test DPT2ByteSigned parsing and streaming.""" assert DPT2ByteSigned.to_knx(32767) == (0x7F, 0xFF) assert DPT2ByteSigned.from_knx((0x7F, 0xFF)) == 32767