From 7707df3294b54ffc46ac865579ae9581cd704e98 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Fri, 3 Jul 2026 10:14:10 +0000 Subject: [PATCH] =?UTF-8?q?ASHP=20sizing=20caps=20at=20the=20largest=20pum?= =?UTF-8?q?p=20for=20a=20high-heat-loss=20dwelling=20=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- .../domain/modelling/test_heating_recommendation.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/domain/modelling/test_heating_recommendation.py b/tests/domain/modelling/test_heating_recommendation.py index deca9ffad..51d41f035 100644 --- a/tests/domain/modelling/test_heating_recommendation.py +++ b/tests/domain/modelling/test_heating_recommendation.py @@ -779,3 +779,15 @@ def test_ashp_sizing_selects_the_smallest_pump_meeting_the_design_heat_loss() -> # Assert — the 7 kW aroTHERM plus rung. assert pcdb_id == 110265 + + +def test_ashp_sizing_caps_at_the_largest_pump_for_a_high_heat_loss_dwelling() -> None: + # A very leaky dwelling (17.5 kW design heat loss, e.g. UPRN 10002468116) + # exceeds the domestic aroTHERM plus range, so sizing caps at the largest + # rung — the 12 kW aroTHERM plus (PCDB 110281, ~11.48 kW) — an honest, still + # far better than the fixed 5 kW pump whose PSR collapsed to ~0.25. + # Act + pcdb_id = select_ashp_pcdb_id(design_heat_loss_kw=17.5) + + # Assert — capped at the 12 kW rung, not left undersized at 5 kW. + assert pcdb_id == 110281