diff --git a/tests/domain/modelling/test_roof_recommendation.py b/tests/domain/modelling/test_roof_recommendation.py index 9e36b25f8..defc239cd 100644 --- a/tests/domain/modelling/test_roof_recommendation.py +++ b/tests/domain/modelling/test_roof_recommendation.py @@ -111,6 +111,25 @@ def test_vaulted_ceiling_with_nd_thickness_on_pre_1950_dwelling_yields_sloping_c ) +def test_vaulted_ceiling_with_nd_thickness_on_limited_insulation_age_band_yields_no_recommendation() -> None: + # Arrange — same vaulted-ND shape, but age band E: as-built carries limited + # insulation (ADR-0047), and ND must never make an undefined cert MORE + # eligible than an explicit thin lodgement (which is not eligible today). + baseline: EpcPropertyData = build_epc() + main: SapBuildingPart = _part(baseline, BuildingPartIdentifier.MAIN) + main.roof_construction_type = "Pitched (vaulted ceiling)" + main.roof_insulation_thickness = "ND" + main.construction_age_band = "E" + + # Act + recommendation: Recommendation | None = recommend_roof_insulation( + baseline, _StubProducts() + ) + + # Assert + assert recommendation is None + + def test_loft_option_carries_cost_from_roof_area_and_product() -> None: # Arrange baseline: EpcPropertyData = build_epc() # MAIN roof area 14.85 m^2