23 lines
880 B
Python
23 lines
880 B
Python
from services.control.exporter_monolith import (
|
||
REG178_PASSIVE,
|
||
_drop_registers_matching_last_verified,
|
||
)
|
||
|
||
|
||
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 = {178: 12030} # real-world example from home-01 (bits4-5 still == 0b11)
|
||
out, skipped = _drop_registers_matching_last_verified(registers, last_verified)
|
||
assert out == []
|
||
assert skipped == [178]
|
||
|
||
|
||
def test_drop_registers_keeps_reg178_when_mask_differs():
|
||
registers = [(178, "grid_peak_shaving_switch", REG178_PASSIVE)]
|
||
last_verified = {178: 32} # SELL mask 0b10
|
||
out, skipped = _drop_registers_matching_last_verified(registers, last_verified)
|
||
assert out == registers
|
||
assert skipped == []
|
||
|