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