diff --git a/recommendations/tests/test_wall_recommendations.py b/recommendations/tests/test_wall_recommendations.py index 81d040c5..d4ce5884 100644 --- a/recommendations/tests/test_wall_recommendations.py +++ b/recommendations/tests/test_wall_recommendations.py @@ -682,4 +682,49 @@ class TestCavityWallRecommensations: assert recommender5.recommendations[6]["parts"][0]["type"] == "internal_wall_insulation" assert recommender5.recommendations[6]["parts"][0]["depths"] == [100] + def test_sandstone_or_limestone_wall(self): + input_property6 = Property(id=1, postcode="F4k3 6", address1="623 fake street", epc_client=Mock()) + input_property6.walls = { + 'original_description': 'Sandstone or limestone, as built, no insulation (assumed)', + 'clean_description': 'Sandstone or limestone, as built, no insulation', + 'thermal_transmittance': None, 'thermal_transmittance_unit': None, + 'is_cavity_wall': False, 'is_filled_cavity': False, 'is_solid_brick': False, + 'is_system_built': False, 'is_timber_frame': False, 'is_granite_or_whinstone': False, + 'is_as_built': False, 'is_cob': False, 'is_assumed': False, + 'is_sandstone_or_limestone': True, 'is_park_home': False, + 'insulation_thickness': 'none', 'external_insulation': False, + 'internal_insulation': False + } + input_property6.age_band = "F" + input_property6.insulation_wall_area = 350 + input_property6.restricted_measures = False + input_property6.data = {"property-type": "House"} + assert input_property6.walls["is_sandstone_or_limestone"] + + recommender6 = WallRecommendations( + property_instance=input_property6, + materials=internal_wall_insulation_parts + external_wall_insulation_parts + ) + + assert not recommender6.recommendations + + recommender6.recommend() + + assert recommender6.recommendations + assert len(recommender6.recommendations) == 6 + assert recommender6.estimated_u_value == 1 + assert np.isclose(recommender6.recommendations[0]["new_u_value"], 0.29) + assert np.isclose(recommender6.recommendations[0]["cost"], 31500) + assert recommender6.recommendations[0]["parts"][0]["type"] == "external_wall_insulation" + assert recommender6.recommendations[0]["parts"][0]["depths"] == [90] + + assert np.isclose(recommender6.recommendations[2]["new_u_value"], 0.28) + assert np.isclose(recommender6.recommendations[2]["cost"], 35000) + assert recommender6.recommendations[2]["parts"][0]["type"] == "external_wall_insulation" + assert recommender6.recommendations[2]["parts"][0]["depths"] == [100] + + assert np.isclose(recommender6.recommendations[4]["new_u_value"], 0.28) + assert np.isclose(recommender6.recommendations[4]["cost"], 35000) + assert recommender6.recommendations[4]["parts"][0]["type"] == "internal_wall_insulation" + assert recommender6.recommendations[4]["parts"][0]["depths"] == [100]