Resolve PasHub main-heating control label to its SAP Table 4e code 🟥

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Daniel Roth 2026-07-14 15:59:45 +00:00
parent 2f0d5a25f1
commit fc53594c99

View file

@ -170,6 +170,13 @@ class TestFromSiteNotesExample1:
result.sap_heating.main_heating_details[0].heat_emitter_type == "Radiators"
)
def test_main_heating_control(self, result: EpcPropertyData) -> None:
# heating_and_hot_water.main_heating.controls:
# "Programmer, room thermostat and TRVs" is resolved at the mapper
# boundary to its SAP 10.2 Table 4e code (2106), not the raw label —
# the calculator's `_control_type` keys off the int code.
assert result.sap_heating.main_heating_details[0].main_heating_control == 2106
def test_main_heating_no_fghrs(self, result: EpcPropertyData) -> None:
# heating_and_hot_water.main_heating.flue_gas_heat_recovery_system: false
assert result.sap_heating.main_heating_details[0].has_fghrs is False
@ -383,7 +390,7 @@ class TestFromSiteNotesExample1:
heat_emitter_type="Radiators",
emitter_temperature="Unknown",
fan_flue_present=True,
main_heating_control="Programmer, room thermostat and TRVs",
main_heating_control=2106,
condensing=True,
weather_compensator=False,
central_heating_pump_age_str="Unknown",