feat: introduce family_spec logic for wafer sensor-count partitioning

This commit is contained in:
jack
2026-07-06 13:19:47 -07:00
parent 3b919f576f
commit 185e66ea3a
3 changed files with 34 additions and 0 deletions
+2
View File
@@ -1,4 +1,5 @@
# ===== Wafer Sub-package =====
from pygui.backend.wafer.family_spec import sensor_count_for
from pygui.backend.wafer.wafer_layouts import available_families, load_layout
from pygui.backend.wafer.zwafer_models import DataRecord, Sensor, ZWaferData
from pygui.backend.wafer.zwafer_parser import ZWaferParser
@@ -7,4 +8,5 @@ __all__ = [
"ZWaferData", "Sensor", "DataRecord",
"ZWaferParser",
"load_layout", "available_families",
"sensor_count_for",
]
+9
View File
@@ -0,0 +1,9 @@
"""Single source of truth for the wafer sensor-count partition."""
def sensor_count_for(family_code: str) -> int:
"""Return the number of valid sensor readings for a wafer family code.
Returns 80 for the "X" family. Returns 244 for every other family
code."""
return 80 if family_code == "X" else 244
+23
View File
@@ -0,0 +1,23 @@
"""Tests for the shared wafer family sensor-count lookup."""
from pygui.backend.wafer.family_spec import sensor_count_for
def test_x_family_returns_80():
assert sensor_count_for("X") == 80
def test_p_family_returns_244():
assert sensor_count_for("P") == 244
def test_other_known_families_return_244():
for code in ("A", "B", "C", "D", "E", "F"):
assert sensor_count_for(code) == 244
def test_unknown_family_returns_244():
assert sensor_count_for("Z") == 244
def test_empty_string_returns_244():
assert sensor_count_for("") == 244