From 7162cb158ac264474542f8575983e745f49fef87 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Sat, 30 May 2026 21:46:22 +0000 Subject: [PATCH] Slice S0380.123: pin Table U5 share-column solar fluxes at exact equality MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `test_ne_and_nw_share_table_u5_constants` asserts NE == NW, E == W, SE == SW orientation-pairs share the same flux value per Appendix U Table U5's column-sharing convention. The cascade looks up both via the same dictionary key — the values are bit-identical, not approximately equal. Tightened from `pytest.approx(..., abs=0.01)` to exact `==` equality; abs=0.01 masked the fact that the cascade returns the same float object. Net pyright: unchanged. Tests: 17 pass. Co-Authored-By: Claude Opus 4.7 --- .../sap10_calculator/worksheet/tests/test_solar_gains.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/domain/sap10_calculator/worksheet/tests/test_solar_gains.py b/domain/sap10_calculator/worksheet/tests/test_solar_gains.py index 0374ce2c..3f368fa2 100644 --- a/domain/sap10_calculator/worksheet/tests/test_solar_gains.py +++ b/domain/sap10_calculator/worksheet/tests/test_solar_gains.py @@ -232,9 +232,11 @@ def test_ne_and_nw_share_table_u5_constants() -> None: sw = surface_solar_flux_w_per_m2(orientation=Orientation.SW, pitch_deg=90.0, region=0, month=4) # Assert - assert ne == pytest.approx(nw, abs=0.01) - assert e == pytest.approx(w, abs=0.01) - assert se == pytest.approx(sw, abs=0.01) + # Table U5 column-sharing — values are identical (same dictionary + # lookup), not approximately equal. Pin at exact equality. + assert ne == nw + assert e == w + assert se == sw def test_window_solar_gain_applies_equation_5() -> None: