refactor: data_parser binary parsers use shared sensor_count_for()

This commit is contained in:
jack
2026-07-06 13:24:46 -07:00
parent 52cc747536
commit e2d71662ff
3 changed files with 25 additions and 29 deletions
+5 -7
View File
@@ -8,8 +8,6 @@ from pygui.serialcomm.data_parser import (
remove_trailing_zeros,
save_to_csv,
_convert_hex_to_temp,
MAXDUT_P,
MAXDUT_X,
)
# ── csv_column_count ──────────────────────────────────────────────────────────
@@ -106,7 +104,7 @@ def _make_p_block(num_blocks: int = 1, value: int = 0x0100) -> bytes:
data = bytearray()
for _ in range(num_blocks):
for i in range(256):
word = value if i < MAXDUT_P else 0
word = value if i < 244 else 0
data += word.to_bytes(2, byteorder="little")
return bytes(data)
@@ -120,7 +118,7 @@ def _make_x_block(num_blocks: int = 1, value: int = 0x0100) -> bytes:
data = bytearray()
for _ in range(num_blocks):
for i in range(256):
word = value if i < MAXDUT_X else 0
word = value if i < 80 else 0
data += word.to_bytes(2, byteorder="little")
return bytes(data)
@@ -136,7 +134,7 @@ class TestParseBinaryData:
data = _make_p_block(1)
result = parse_binary_data(data, "P")
assert result is not None
assert len(result[0]) == MAXDUT_P # 244
assert len(result[0]) == 244
def test_p_family_two_blocks_returns_two_rows(self):
data = _make_p_block(2)
@@ -161,14 +159,14 @@ class TestParseBinaryData:
data = _make_x_block(1)
result = parse_binary_data(data, "X")
assert result is not None
assert len(result[0]) == MAXDUT_X # 80
assert len(result[0]) == 80
def test_a_family_uses_p_parser(self):
# A/B/C/D/E/F all route to _parse_p_binary
data = _make_p_block(1)
result = parse_binary_data(data, "A")
assert result is not None
assert len(result[0]) == MAXDUT_P
assert len(result[0]) == 244
def test_empty_bytes_returns_empty_list(self):
result = parse_binary_data(b"", "P")