diff --git a/backend/magic_plan/audit_script.py b/backend/magic_plan/audit_script.py new file mode 100644 index 00000000..e418b712 --- /dev/null +++ b/backend/magic_plan/audit_script.py @@ -0,0 +1,25 @@ +from dataclasses import dataclass +from typing import Optional + +from datatypes.magicplan.domain.models import Plan + + +@dataclass +class AuditRow: + floor_level: Optional[int] = None # set only on floor-separator rows + room_name: Optional[str] = None + room_width_m: Optional[float] = None + room_length_m: Optional[float] = None + room_area_m2: Optional[float] = None + window_label: Optional[str] = None + window_location: Optional[str] = None + window_width_m: Optional[float] = None + window_height_m: Optional[float] = None + window_area_m2: Optional[float] = None + window_opening_type: Optional[str] = None + door_location: Optional[str] = None + door_width_mm: Optional[float] = None + + +def _build_rows(plan: Plan) -> list[AuditRow]: + raise NotImplementedError diff --git a/backend/magic_plan/tests/test_audit_script.py b/backend/magic_plan/tests/test_audit_script.py new file mode 100644 index 00000000..9c39edb6 --- /dev/null +++ b/backend/magic_plan/tests/test_audit_script.py @@ -0,0 +1,13 @@ +from datatypes.magicplan.domain.models import Door, Floor, Plan, Room, Window +from backend.magic_plan.audit_script import AuditRow, _build_rows + + +def test_build_rows_empty_plan_returns_empty_list() -> None: + # Arrange + plan = Plan(uid="x", name=None, floors=[]) + + # Act + rows: list[AuditRow] = _build_rows(plan) + + # Assert + assert rows == []