test_modbus_codec.py 677 B

1234567891011121314151617181920212223
  1. import unittest
  2. from modbus_codec import encode_registers
  3. class ModbusCodecTest(unittest.TestCase):
  4. def test_encode_int16(self):
  5. self.assertEqual(encode_registers(1, "int16"), [1])
  6. self.assertEqual(encode_registers(-1, "int16"), [0xFFFF])
  7. def test_encode_int32_abcd(self):
  8. self.assertEqual(encode_registers(0x12345678, "int32"), [0x1234, 0x5678])
  9. def test_encode_float32_abcd(self):
  10. self.assertEqual(encode_registers(1.0, "float32"), [0x3F80, 0x0000])
  11. def test_encode_invalid_type(self):
  12. with self.assertRaises(ValueError):
  13. encode_registers(1, "uint16")
  14. if __name__ == "__main__":
  15. unittest.main()