From ca10966c3856ac135038f3fb8d6146201016519f Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Wed, 1 Jul 2026 14:27:59 +0000 Subject: [PATCH] =?UTF-8?q?Drag=20HHRSH's=20intrinsic=20control,=20electri?= =?UTF-8?q?city=20fuel=20and=20off-peak=20meter=20=F0=9F=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- .../epc/test_main_heating_system_overlay.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/domain/epc/test_main_heating_system_overlay.py b/tests/domain/epc/test_main_heating_system_overlay.py index f33efe3c6..b100f75a6 100644 --- a/tests/domain/epc/test_main_heating_system_overlay.py +++ b/tests/domain/epc/test_main_heating_system_overlay.py @@ -111,6 +111,22 @@ def test_high_heat_retention_storage_decodes_to_its_own_code_not_old_storage() - assert simulation.heating.sap_main_heating_code == 409 +def test_high_heat_retention_storage_drags_its_intrinsic_companions() -> None: + # HHRSH has a single intrinsic charge control (Table 4e 2404, 0 C adjustment), + # so — unlike a generic storage heater whose control is unobserved — it must + # NOT drag the conservative manual default (2401, +0.7 C penalty), which would + # under-credit it. It is electric, on an off-peak (Dual) meter (ADR-0044). + simulation = main_heating_overlay_for( + "Electric storage heaters, high heat retention", 0 + ) + + assert simulation is not None + assert simulation.heating is not None + assert simulation.heating.main_heating_control == 2404 + assert simulation.heating.main_fuel_type == 29 + assert simulation.heating.meter_type == "Dual" + + @pytest.mark.parametrize( "main_heating_value", [