diff --git a/applications/audit_generator/Master Sero Template - Data Extraction.xlsx b/applications/audit_generator/Master Sero Template - Data Extraction.xlsx index 2416b11f2..15bc8d3ab 100644 Binary files a/applications/audit_generator/Master Sero Template - Data Extraction.xlsx and b/applications/audit_generator/Master Sero Template - Data Extraction.xlsx differ diff --git a/domain/magicplan/ventilation_audit.py b/domain/magicplan/ventilation_audit.py index 71dc2f0d9..74fc66e1f 100644 --- a/domain/magicplan/ventilation_audit.py +++ b/domain/magicplan/ventilation_audit.py @@ -11,7 +11,7 @@ from domain.magicplan.models import Door, Plan, Room, Window _DATA_START_ROW = 6 _MAX_ROWS = 50 -_DOOR_AREA_COL = "T" +_DOOR_AREA_COL = "U" _DOOR_AREA_CF_RANGE = f"{_DOOR_AREA_COL}{_DATA_START_ROW}:{_DOOR_AREA_COL}{_DATA_START_ROW + _MAX_ROWS - 1}" _Y_THRESHOLD = 7600 _DOOR_AREA_HEADER = CellRichText( @@ -87,16 +87,16 @@ def populate_sheet(sheet: Any, plan: Plan) -> None: pct = vent.pct_openable if vent else None _write_cell(sheet, row, "L", (pct / 100) if pct is not None else 0) # M = formula =I*L — do not write - _write_cell(sheet, row, "N", vent.num_trickle_vents if vent else 0) - _write_cell(sheet, row, "O", vent.trickle_vent_area_mm2 if vent else 0) - # P = unused gap — do not write + _write_cell(sheet, row, "N", vent.trickle_vent_area_mm2 if vent else 0) + _write_cell(sheet, row, "O", vent.num_trickle_vents if vent else 0) + # P = formula =N*O — do not write for i, (room_name, door) in enumerate(doors): row = _DATA_START_ROW + i vent = door.ventilation - _write_cell(sheet, row, "Q", room_name) - _write_cell(sheet, row, "R", door.width_mm) - _write_cell(sheet, row, "S", vent.undercut_mm if vent else 0) - # T = formula =R*S — do not write + _write_cell(sheet, row, "R", room_name) + _write_cell(sheet, row, "S", door.width_mm) + _write_cell(sheet, row, "T", vent.undercut_mm if vent else 0) + # U = formula =S*T — do not write _apply_column_y_formatting(sheet) diff --git a/tests/domain/magicplan/test_ventilation_audit.py b/tests/domain/magicplan/test_ventilation_audit.py index 6be6275fd..6ebb39362 100644 --- a/tests/domain/magicplan/test_ventilation_audit.py +++ b/tests/domain/magicplan/test_ventilation_audit.py @@ -135,7 +135,7 @@ def test_writes_window_opening_data_to_columns_J_K_L() -> None: assert sheet["L6"].value == pytest.approx(0.5) -def test_writes_trickle_vent_count_to_N_and_total_area_to_O() -> None: +def test_writes_trickle_vent_data_to_columns_N_and_O() -> None: # Arrange plan = _make_plan(num_rooms=1, num_windows_per_room=1, num_doors_per_room=0) sheet = _blank_sheet() @@ -144,11 +144,11 @@ def test_writes_trickle_vent_count_to_N_and_total_area_to_O() -> None: populate_sheet(sheet, plan) # Assert - assert sheet["N6"].value == 2 - assert sheet["O6"].value == 1000 + assert sheet["N6"].value == 1000 + assert sheet["O6"].value == 2 -def test_writes_door_room_name_to_column_Q() -> None: +def test_writes_door_room_name_to_column_R() -> None: # Arrange plan = _make_plan(num_rooms=1, num_windows_per_room=0, num_doors_per_room=1) sheet = _blank_sheet() @@ -157,10 +157,10 @@ def test_writes_door_room_name_to_column_Q() -> None: populate_sheet(sheet, plan) # Assert - assert sheet["Q6"].value == "Room 0" + assert sheet["R6"].value == "Room 0" -def test_writes_door_dimensions_to_columns_R_and_S() -> None: +def test_writes_door_dimensions_to_columns_S_and_T() -> None: # Arrange plan = _make_plan(num_rooms=1, num_windows_per_room=0, num_doors_per_room=1) sheet = _blank_sheet() @@ -169,8 +169,8 @@ def test_writes_door_dimensions_to_columns_R_and_S() -> None: populate_sheet(sheet, plan) # Assert - assert sheet["R6"].value == 800.0 - assert sheet["S6"].value == 10.0 + assert sheet["S6"].value == 800.0 + assert sheet["T6"].value == 10.0 def test_writes_zeros_when_window_has_no_ventilation() -> None: @@ -186,8 +186,8 @@ def test_writes_zeros_when_window_has_no_ventilation() -> None: assert sheet["J6"].value == 0 assert sheet["K6"].value == 0 assert sheet["L6"].value == 0 - assert sheet["N6"].value == 0 # count - assert sheet["O6"].value == 0 # total area + assert sheet["N6"].value == 0 + assert sheet["O6"].value == 0 def test_writes_zeros_when_door_has_no_ventilation() -> None: @@ -200,7 +200,7 @@ def test_writes_zeros_when_door_has_no_ventilation() -> None: populate_sheet(sheet, plan) # Assert - assert sheet["S6"].value == 0 + assert sheet["T6"].value == 0 _TEMPLATE_PATH = ( @@ -220,4 +220,4 @@ def test_real_template_survives_18_doors() -> None: populate_sheet(sheet, plan) - assert sheet["Q23"].value == "Room 17" + assert sheet["R23"].value == "Room 17"