diff --git a/tests/domain/epc/test_roof_party_ceiling_guard.py b/tests/domain/epc/test_roof_party_ceiling_guard.py index 9152b655e..8ac91add4 100644 --- a/tests/domain/epc/test_roof_party_ceiling_guard.py +++ b/tests/domain/epc/test_roof_party_ceiling_guard.py @@ -40,3 +40,23 @@ def test_every_party_ceiling_marker_variant_resolves_to_its_member( # Assert assert result is expected + + +@pytest.mark.parametrize( + "description", + [ + "pitched, normal loft access: 100mm", + "flat: 150mm", + "pitched with sloping ceiling: unknown", + "roof room(s), insulated", + ], +) +def test_a_genuine_roof_description_is_left_to_the_llm(description: str) -> None: + # A non-party-ceiling roof must return None so the LLM classifier still + # resolves it — the guard only claims the markers it is certain about. + + # Act + result = roof_party_ceiling_guard(description) + + # Assert + assert result is None