Map Elmhurst 'Positive input from loft' ventilation to natural 🟥

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-16 16:26:15 +00:00
parent 8f9b2fe2c5
commit d301ec3be5

View file

@ -0,0 +1,24 @@
"""Mapper boundary: the Elmhurst §12.1 "Positive input from loft" mechanical-
ventilation label.
SAP 10.2 §2 (24d) treats positive input ventilation sourced from the LOFT as
natural ventilation unlike PIV from OUTSIDE, which is whole-house extract and
resolves to EXTRACT_OR_PIV_OUTSIDE / (24c). The MechanicalVentilationKind.NATURAL
docstring states the loft case explicitly. Before this mapping existed the label
raised UnmappedElmhurstLabel, blocking the whole Summary (surfaced across 8 WCHG
Elmhurst certs).
"""
from datatypes.epc.domain.mapper import (
_elmhurst_mv_kind, # pyright: ignore[reportPrivateUsage]
)
def test_positive_input_from_loft_maps_to_natural() -> None:
# Arrange — the Elmhurst §12.1 PIV-from-loft ventilation label.
# Act
kind = _elmhurst_mv_kind("Positive input from loft")
# Assert — SAP 10.2 §2 (24d): loft-sourced PIV is treated as natural vent.
assert kind == "NATURAL"