From fe5e7814913366de4cd309b0633585aa483d8e41 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Wed, 21 Jan 2026 16:31:07 +0000 Subject: [PATCH] fixed roof recommendation tests --- .../tests/test_roof_recommendations.py | 38 +++++++++++++------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/recommendations/tests/test_roof_recommendations.py b/recommendations/tests/test_roof_recommendations.py index 214ea6c0..2241aeb7 100644 --- a/recommendations/tests/test_roof_recommendations.py +++ b/recommendations/tests/test_roof_recommendations.py @@ -23,6 +23,7 @@ class TestRoofRecommendations: 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': 'none', 'roof_thermal_transmittance': None, 'roof_insulation_thickness': 'none' } + property_instance.already_installed = [] roof_recommender = RoofRecommendations(property_instance=property_instance, materials=materials) @@ -30,7 +31,7 @@ class TestRoofRecommendations: roof_recommender.recommend(phase=0) - assert len(roof_recommender.recommendations) == 1 + assert len(roof_recommender.recommendations) == 3 assert roof_recommender.recommendations[0]["parts"][0]["depth"] == 300 def test_loft_insulation_recommendation_50mm_insulation(self): @@ -48,6 +49,7 @@ class TestRoofRecommendations: 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': '50', 'roof_thermal_transmittance': None, 'roof_insulation_thickness': 'none' } + property_instance2.already_installed = [] roof_recommender2 = RoofRecommendations(property_instance=property_instance2, materials=materials) @@ -55,11 +57,11 @@ class TestRoofRecommendations: roof_recommender2.recommend(phase=0) - assert len(roof_recommender2.recommendations) == 1 + assert len(roof_recommender2.recommendations) == 3 - assert roof_recommender2.recommendations[0]["total"] == 1653 + assert roof_recommender2.recommendations[0]["total"] == 2100 assert roof_recommender2.recommendations[0]["new_u_value"] == 0.13 - assert roof_recommender2.recommendations[0]["starting_u_value"] == 0.68 + assert float(roof_recommender2.recommendations[0]["starting_u_value"]) == 0.68 assert roof_recommender2.recommendations[0]["parts"][0]["depth"] == 300 epc_record = EPCRecord() @@ -76,6 +78,7 @@ class TestRoofRecommendations: 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': '50', 'roof_thermal_transmittance': None, 'roof_insulation_thickness': 'none' } + property_instance3.already_installed = [] roof_recommender3 = RoofRecommendations(property_instance=property_instance3, materials=materials) @@ -84,7 +87,7 @@ class TestRoofRecommendations: roof_recommender3.recommend(phase=0) assert roof_recommender3.recommendations - assert len(roof_recommender3.recommendations) == 1 + assert len(roof_recommender3.recommendations) == 3 assert roof_recommender3.recommendations[0]["parts"][0]["depth"] == 300.0 def test_loft_insulation_recommendation_150mm_insulation(self): @@ -102,6 +105,7 @@ class TestRoofRecommendations: 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': '150', 'roof_thermal_transmittance': None, 'roof_insulation_thickness': 'none' } + property_instance4.already_installed = [] roof_recommender4 = RoofRecommendations(property_instance=property_instance4, materials=materials) @@ -109,11 +113,11 @@ class TestRoofRecommendations: roof_recommender4.recommend(phase=0, default_u_values=True) - assert len(roof_recommender4.recommendations) == 1 + assert len(roof_recommender4.recommendations) == 3 - assert roof_recommender4.recommendations[0]["total"] == 1653.0 - assert roof_recommender4.recommendations[0]["new_u_value"] == 0.14 - assert roof_recommender4.recommendations[0]["starting_u_value"] == 0.3 + assert roof_recommender4.recommendations[0]["total"] == 2100.0 + assert float(roof_recommender4.recommendations[0]["new_u_value"]) == 0.14 + assert float(roof_recommender4.recommendations[0]["starting_u_value"]) == 0.3 assert roof_recommender4.recommendations[0]["parts"][0]["depth"] == 300 epc_record = EPCRecord() @@ -130,6 +134,7 @@ class TestRoofRecommendations: 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': '150', 'roof_thermal_transmittance': None, 'roof_insulation_thickness': 'none' } + property_instance5.already_installed = [] roof_recommender5 = RoofRecommendations(property_instance=property_instance5, materials=materials) @@ -138,7 +143,7 @@ class TestRoofRecommendations: roof_recommender5.recommend(phase=0) assert roof_recommender5.recommendations - assert len(roof_recommender5.recommendations) == 1 + assert len(roof_recommender5.recommendations) == 3 assert roof_recommender5.recommendations[0]["parts"][0]["depth"] == 300 def test_loft_insulation_recommendation_270mm_insulation(self): @@ -157,6 +162,7 @@ class TestRoofRecommendations: 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': '270', 'roof_thermal_transmittance': None, 'roof_insulation_thickness': 'none' } + property_instance6.already_installed = [] roof_recommender6 = RoofRecommendations(property_instance=property_instance6, materials=materials) @@ -179,6 +185,7 @@ class TestRoofRecommendations: 'is_roof_room': True, 'is_loft': False, 'is_flat': False, 'is_thatched': False, 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': 'none' } + property_instance7.already_installed = [] property_instance7.pitched_roof_area = 110 @@ -189,7 +196,7 @@ class TestRoofRecommendations: roof_recommender7.recommend(phase=0) assert len(roof_recommender7.recommendations) == 1 - assert roof_recommender7.recommendations[0]["new_u_value"] == 0.2 + assert roof_recommender7.recommendations[0]["new_u_value"] == 0.18 assert roof_recommender7.recommendations[0]["starting_u_value"] == 0.8 assert roof_recommender7.recommendations[0]["description"] == "Insulate room in roof at rafters and re-decorate" @@ -208,6 +215,7 @@ class TestRoofRecommendations: 'is_assumed': False, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': 'average' } + property_instance8.already_installed = [] property_instance8.pitched_roof_area = 110 @@ -233,6 +241,7 @@ class TestRoofRecommendations: 'is_roof_room': True, 'is_loft': False, 'is_flat': False, 'is_thatched': False, 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': 'average' } + property_instance9.already_installed = [] property_instance9.pitched_roof_area = 110 property_instance9.data = {"county": "Rutland"} @@ -260,6 +269,7 @@ class TestRoofRecommendations: 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': 'below average' } + property_instance10.already_installed = [] property_instance10.pitched_roof_area = 110 @@ -271,7 +281,7 @@ class TestRoofRecommendations: assert len(roof_recommender10.recommendations) == 1 - assert roof_recommender10.recommendations[0]["new_u_value"] == 0.19 + assert roof_recommender10.recommendations[0]["new_u_value"] == 0.17 assert roof_recommender10.recommendations[0]["starting_u_value"] == 0.68 @@ -292,6 +302,7 @@ class TestRoofRecommendations: 'is_roof_room': False, 'is_loft': False, 'is_flat': True, 'is_thatched': False, 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': 'none' } + property_instance11.already_installed = [] roof_recommender11 = RoofRecommendations(property_instance=property_instance11, materials=materials) @@ -324,6 +335,7 @@ class TestRoofRecommendations: 'is_loft': False, 'is_flat': True, 'is_thatched': False, 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': 'average' } + property_instance12.already_installed = [] roof_recommender12 = RoofRecommendations(property_instance=property_instance12, materials=materials) @@ -348,6 +360,7 @@ class TestRoofRecommendations: 'is_loft': False, 'is_flat': True, 'is_thatched': False, 'is_at_rafters': False, 'is_assumed': True, 'has_dwelling_above': False, 'is_valid': True, 'insulation_thickness': 'below average' } + property_instance13.already_installed = [] roof_recommender13 = RoofRecommendations(property_instance=property_instance13, materials=materials) @@ -380,6 +393,7 @@ class TestRoofRecommendations: 'is_assumed': False, 'has_dwelling_above': True, 'is_valid': True, 'insulation_thickness': None } + property_instance14.already_installed = [] roof_recommender14 = RoofRecommendations(property_instance=property_instance14, materials=materials)