From a72f42eb4afe45eb381c596ab9dcec783d016a39 Mon Sep 17 00:00:00 2001 From: Patrick762 Date: Fri, 25 Oct 2024 16:47:26 +0200 Subject: [PATCH] added simple test for struct --- tests/device_struct_test.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/device_struct_test.py diff --git a/tests/device_struct_test.py b/tests/device_struct_test.py new file mode 100644 index 0000000..09fbe3c --- /dev/null +++ b/tests/device_struct_test.py @@ -0,0 +1,24 @@ +"""Unittest for device builder.""" + +import unittest + +from custom_components.bluetti_bt.bluetti_bt_lib.utils.commands import ReadHoldingRegisters +from custom_components.bluetti_bt.bluetti_bt_lib.utils.struct import DeviceStruct + +class TestDeviceStruct(unittest.TestCase): + def test_get_read_holding_registers(self): + struct = DeviceStruct() + + struct.add_swap_string_field("device_type", 110, 6) + struct.add_sn_field("serial_number", 116) + struct.add_decimal_field( + "power_generation", 154, 1 + ) + struct.add_uint_field("total_battery_percent", 102) + + registers = struct.get_read_holding_registers() + + self.assertGreater(len(registers), 0) + + for reg in registers: + self.assertIsInstance(reg, ReadHoldingRegisters)