diff --git a/recommendations/tests/test_wall_recommendations.py b/recommendations/tests/test_wall_recommendations.py index 334c02b7..81d040c5 100644 --- a/recommendations/tests/test_wall_recommendations.py +++ b/recommendations/tests/test_wall_recommendations.py @@ -634,3 +634,52 @@ class TestCavityWallRecommensations: assert np.isclose(recommender4.recommendations[1]["cost"], 11150) assert recommender4.recommendations[1]["parts"][0]["type"] == "external_wall_insulation" assert recommender4.recommendations[1]["parts"][0]["depths"] == [50] + + def test_cob_wall(self): + input_property5 = Property(id=1, postcode="F4k3 2", address1="223 fake street", epc_client=Mock()) + input_property5.walls = { + 'original_description': 'Cob, as built', + 'clean_description': 'Cob, as built', + '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': True, 'is_assumed': False, + 'is_sandstone_or_limestone': False, 'is_park_home': False, + 'insulation_thickness': 'none', 'external_insulation': False, + 'internal_insulation': False + } + input_property5.age_band = "E" + input_property5.insulation_wall_area = 77 + input_property5.restricted_measures = False + input_property5.data = {"property-type": "Bungalow"} + + assert input_property5.walls["is_cob"] + + recommender5 = WallRecommendations( + property_instance=input_property5, + materials=internal_wall_insulation_parts + external_wall_insulation_parts + ) + + assert not recommender5.recommendations + + recommender5.recommend() + + assert recommender5.recommendations + assert len(recommender5.recommendations) == 9 + assert recommender5.estimated_u_value == 0.8 + assert np.isclose(recommender5.recommendations[0]["new_u_value"], 0.29) + assert np.isclose(recommender5.recommendations[0]["cost"], 6160) + assert recommender5.recommendations[0]["parts"][0]["type"] == "external_wall_insulation" + assert recommender5.recommendations[0]["parts"][0]["depths"] == [80] + + assert np.isclose(recommender5.recommendations[3]["new_u_value"], 0.26) + assert np.isclose(recommender5.recommendations[3]["cost"], 7700) + assert recommender5.recommendations[3]["parts"][0]["type"] == "external_wall_insulation" + assert recommender5.recommendations[3]["parts"][0]["depths"] == [100] + + assert np.isclose(recommender5.recommendations[6]["new_u_value"], 0.26) + assert np.isclose(recommender5.recommendations[6]["cost"], 7700) + assert recommender5.recommendations[6]["parts"][0]["type"] == "internal_wall_insulation" + assert recommender5.recommendations[6]["parts"][0]["depths"] == [100] + +