diff --git a/domain/sap10_calculator/rdsap/cert_to_inputs.py b/domain/sap10_calculator/rdsap/cert_to_inputs.py index 469223ab..0ea700e8 100644 --- a/domain/sap10_calculator/rdsap/cert_to_inputs.py +++ b/domain/sap10_calculator/rdsap/cert_to_inputs.py @@ -995,6 +995,8 @@ _SECONDARY_HEATING_FRACTION_BY_CATEGORY: Final[dict[int, float]] = { # p.188). Cert 0380 (warm air mains gas, code 506, + # electric room-heater secondary) raised here before. 10: 0.20, + 11: 0.10, # Electric ceiling heating (SAP code 701): direct-acting + # electric, SAP 10.2 Table 11 "Other electric systems" row. } _SECONDARY_HEATING_FRACTION_DEFAULT: Final[float] = 0.10 diff --git a/tests/domain/sap10_calculator/rdsap/test_cert_to_inputs.py b/tests/domain/sap10_calculator/rdsap/test_cert_to_inputs.py index c6e53595..17edfabd 100644 --- a/tests/domain/sap10_calculator/rdsap/test_cert_to_inputs.py +++ b/tests/domain/sap10_calculator/rdsap/test_cert_to_inputs.py @@ -4958,6 +4958,7 @@ def test_secondary_heating_fraction_for_category_full_table_11_coverage() -> Non assert _secondary_heating_fraction_for_category(5) == 0.10 assert _secondary_heating_fraction_for_category(6) == 0.10 assert _secondary_heating_fraction_for_category(7) == 0.15 + assert _secondary_heating_fraction_for_category(8) == 0.10 # was untested # Category 9 = warm-air systems (NOT heat pump). A gas/oil warm-air # unit is an "All gas, liquid and solid fuel systems" row (0.10); # electric warm air is "Other electric systems" (also 0.10) — so 0.10 @@ -4966,6 +4967,7 @@ def test_secondary_heating_fraction_for_category_full_table_11_coverage() -> Non # secondary) previously raised UnmappedSapCode here, blocking it. assert _secondary_heating_fraction_for_category(9) == 0.10 assert _secondary_heating_fraction_for_category(10) == 0.20 + assert _secondary_heating_fraction_for_category(11) == 0.10 # electric ceiling heating (SAP code 701) # Absent assert _secondary_heating_fraction_for_category(None) == 0.10 # Lodging present but unmapped → raise