"""표준도 장 나눔 — **자리 칸(앞뒤 걸침)은 장을 가르지 않는다** (2026-09-13). 장 나눔 축은 「제원 조합」이다(PLAN 4-3). 구간 규약의 `before_m`·`after_m` 는 기준 측점에서 앞뒤로 얼마나 걸치나일 뿐이라, 제원이 같은 두 기가 이 칸 때문에 두 장이 되면 안 된다. """ from __future__ import annotations import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(ROOT)) from B08_Quantity.B08_Quantity_Engine_StructureSheet import sheet_key # noqa: E402 def _stone(**options) -> dict: return {"type_id": "masonry_wet", "height_m": 2.0, "options": {"back_len_cm": 45, **options}} def test_앞뒤_걸침이_달라도_같은_장() -> None: assert sheet_key(_stone(before_m=5, after_m=5)) == sheet_key(_stone(before_m=0, after_m=12)) assert sheet_key(_stone(outlet_revet_before_m=3)) == sheet_key(_stone()) def test_제원이_다르면_여전히_장이_갈린다() -> None: assert sheet_key(_stone(before_m=5)) != sheet_key(_stone(before_m=5, back_len_cm=55))