From 163e87920c56a37519faf5ce3d3007e1f89018f9 Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Thu, 23 Apr 2026 14:29:35 +0000 Subject: [PATCH] =?UTF-8?q?Map=20ventilation=20properties=20=F0=9F=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epc/domain/tests/test_from_site_notes.py | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/datatypes/epc/domain/tests/test_from_site_notes.py b/datatypes/epc/domain/tests/test_from_site_notes.py index 57c8e45a..772d5e18 100644 --- a/datatypes/epc/domain/tests/test_from_site_notes.py +++ b/datatypes/epc/domain/tests/test_from_site_notes.py @@ -510,3 +510,63 @@ class TestFromSiteNotesExample1: report_reference="49D422A9-0779-44DD-9665-464D35DFF1A8", ) assert result == expected + + +class TestFromSiteNotesVentilation: + """ + Fixture: pashub_rdsap_site_notes_example1.json + Ventilation: Natural, 2 extract fans, no flues, no test, no draught lobby. + """ + + @pytest.fixture + def survey(self) -> PasHubRdSapSiteNotes: + return from_dict( + PasHubRdSapSiteNotes, load("pashub_rdsap_site_notes_example1.json") + ) + + @pytest.fixture + def result(self, survey: PasHubRdSapSiteNotes) -> EpcPropertyData: + return EpcPropertyDataMapper.from_site_notes(survey) + + def test_sap_ventilation_present(self, result: EpcPropertyData) -> None: + assert result.sap_ventilation is not None + + def test_ventilation_type(self, result: EpcPropertyData) -> None: + # ventilation.ventilation_type: "Natural" + assert result.sap_ventilation.ventilation_type == "Natural" + + def test_open_flues_count(self, result: EpcPropertyData) -> None: + # ventilation.number_of_open_flues: 0 + assert result.sap_ventilation.open_flues_count == 0 + + def test_closed_flues_count(self, result: EpcPropertyData) -> None: + # ventilation.number_of_closed_flues: 0 + assert result.sap_ventilation.closed_flues_count == 0 + + def test_boiler_flues_count(self, result: EpcPropertyData) -> None: + # ventilation.number_of_boiler_flues: 0 + assert result.sap_ventilation.boiler_flues_count == 0 + + def test_other_flues_count(self, result: EpcPropertyData) -> None: + # ventilation.number_of_other_flues: 0 + assert result.sap_ventilation.other_flues_count == 0 + + def test_extract_fans_count(self, result: EpcPropertyData) -> None: + # ventilation.number_of_extract_fans: 2 + assert result.sap_ventilation.extract_fans_count == 2 + + def test_passive_vents_count(self, result: EpcPropertyData) -> None: + # ventilation.number_of_passive_vents: 0 + assert result.sap_ventilation.passive_vents_count == 0 + + def test_flueless_gas_fires_count(self, result: EpcPropertyData) -> None: + # ventilation.number_of_flueless_gas_fires: 0 + assert result.sap_ventilation.flueless_gas_fires_count == 0 + + def test_pressure_test(self, result: EpcPropertyData) -> None: + # ventilation.pressure_test: "No test" + assert result.sap_ventilation.pressure_test == "No test" + + def test_draught_lobby(self, result: EpcPropertyData) -> None: + # ventilation.draught_lobby: false + assert result.sap_ventilation.draught_lobby is False