fix(구조물표): 323-9 ③ M02 부품 끔 막힘 안내 — 형상 부품을 꺼서 형상이 「없음」이 된 것이면 「부품 「맹암거」 끔 — 이 부품을 쓰는 종류(A 횡단배수 · 맹암거)의 횡단도를 「안 만듦」으로 바꿔야 저장」 한 줄(부품 이름 + 쓰는 종류 전부) · 막음은 그대로 · 화면 · 서버 짝

- M02_SO_Def_Check.ts ↔ M02_SO_Check.py: 부품 끄기 전 표로 끈 탓 가름 · 부품마다 한 줄
- 시험: test_322_2_check_mirror(벽 끔 = 다섯 종류 한 줄 · 맹암거 끔 = A 횡단배수 · 맹암거 · 짝 같음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
This commit is contained in:
2026-10-14 21:09:49 +09:00
co-authored by Claude Opus 5.5
parent 13608c6be5
commit e067a22439
3 changed files with 40 additions and 5 deletions
+12 -2
View File
@@ -84,6 +84,9 @@ def _cases() -> dict[str, tuple[dict, dict | None]]:
off = copy.deepcopy(real)
off["부품"] = {"형상.wall": False}
cases["parts_off"] = (off, real)
drain = copy.deepcopy(real)
drain["부품"] = {"형상.underdrain": False}
cases["underdrain_off"] = (drain, real)
return cases
@@ -140,8 +143,15 @@ def test_check_rules(ts: dict) -> None:
"「반사경」 군 글자 — 만든 뒤 고정",
"종류 「기타」 — 지울 수 없음",
]
# 형상 부품을 끄면 벽 다섯은 형상 none — 횡단도도 none 으로 바꿔야 저장됨
assert len(got["parts_off"]) == 5 and all("횡단도도 「안 만듦」" in t for t in got["parts_off"])
# 형상 부품을 끄면 쓰는 종류 형상 none — 부품 이름 + 쓰는 종류 전부 한 줄(323-9)
walls = "옹벽, 돌쌓기(찰), 돌쌓기(메), 흙막이, 큰돌쌓기".split(", ")
assert got["parts_off"] == [
f"부품 「벽」 끔 — 이 부품을 쓰는 종류({', '.join(f'C 사면안정 · {w}' for w in walls)})의 "
"횡단도를 「안 만듦」으로 바꿔야 저장"
]
assert got["underdrain_off"] == [
"부품 「맹암거」 끔 — 이 부품을 쓰는 종류(A 횡단배수 · 맹암거)의 횡단도를 「안 만듦」으로 바꿔야 저장"
]
def test_reflect_edits(ts: dict) -> None: