mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Vaulted ND roof on a pre-1950 dwelling gets sloping-ceiling insulation 🟥
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
9e1a194b27
commit
0d465346c9
1 changed files with 28 additions and 0 deletions
|
|
@ -83,6 +83,34 @@ def test_room_in_roof_yields_no_recommendation_pending_a_dedicated_branch() -> N
|
|||
assert recommendation is None
|
||||
|
||||
|
||||
def test_vaulted_ceiling_with_nd_thickness_on_pre_1950_dwelling_yields_sloping_ceiling_insulation() -> None:
|
||||
# Arrange — the 742265 shape (ADR-0047): a "Pitched (vaulted ceiling)" MAIN
|
||||
# roof lodging the "ND" sentinel on an age-band-B dwelling. ND resolves to
|
||||
# the age band's as-built state (A-D: uninsulated), and a vaulted ceiling
|
||||
# has no loft void, so the one applicable Measure is rafter insulation.
|
||||
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 = "B"
|
||||
|
||||
# Act
|
||||
recommendation: Recommendation | None = recommend_roof_insulation(
|
||||
baseline, _StubProducts()
|
||||
)
|
||||
|
||||
# Assert
|
||||
assert recommendation is not None
|
||||
assert recommendation.surface == "Roof"
|
||||
assert len(recommendation.options) == 1
|
||||
option = recommendation.options[0]
|
||||
assert option.measure_type == "sloping_ceiling_insulation"
|
||||
simulated: EpcPropertyData = apply_simulations(baseline, [option.overlay])
|
||||
assert (
|
||||
_part(simulated, BuildingPartIdentifier.MAIN).roof_insulation_thickness == 100
|
||||
)
|
||||
|
||||
|
||||
def test_loft_option_carries_cost_from_roof_area_and_product() -> None:
|
||||
# Arrange
|
||||
baseline: EpcPropertyData = build_epc() # MAIN roof area 14.85 m^2
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue