diff --git a/backend/tests/test_drop_registers_matching_last_verified.py b/backend/tests/test_drop_registers_matching_last_verified.py index 0957b88..7849e2e 100644 --- a/backend/tests/test_drop_registers_matching_last_verified.py +++ b/backend/tests/test_drop_registers_matching_last_verified.py @@ -5,9 +5,11 @@ from services.control.exporter_monolith import ( def test_drop_registers_skips_reg178_when_mask_matches(): - # last_verified contains extra bits beyond 0x0030; we still want to skip if bits 4–5 match. - registers = [(178, "grid_peak_shaving_switch", REG178_PASSIVE)] + # last_verified contains extra bits; reg178 is a bit field and exporter uses RMW. + # We want to skip if the relevant bits match (bits4–5 and, if present, bits0–1). last_verified = {178: 12030} # real-world example from home-01 (bits4-5 still == 0b11) + expected_rmw = (int(last_verified[178]) & ~0x0030) | int(REG178_PASSIVE) + registers = [(178, "control_board_special_1", int(expected_rmw))] out, skipped = _drop_registers_matching_last_verified(registers, last_verified) assert out == [] assert skipped == [178]