fix(구조물표): 322-2 다듬기(브레인 화면 확인) — 화면에 영어 키 안 보임 · 검사 글 한국어(화면 · 서버 짝) · 부품 탭 읽는 칸 = 정의 이름 · 줄바꿈 · 한눈 표 폭 줄임 · 바꿨다 되돌리면 [저장] 꺼짐
- 자리꼴 점 · 구간 · 터 · 정본 관 지점 · 구조물(키는 툴팁) · 고르기 글 = 부품 짧은 이름(괄호 설명 · 키는 툴팁) · 횡단도 없음 = 「안 만듦」 · 「벽 스윕」 → 「벽」 · 종류 키는 툴팁 - 검사 글: 「형상이 「없음」이면 횡단도도 「안 만듦」」 · 부품 짧은 이름 · 칸 이름 · 종류 이름(M02_SO_Def_Check.ts = M02_SO_Check.py) - 부품 탭: 읽는 칸 = 그 부품을 쓰는 종류의 칸 이름(단위) · 표 줄바꿈(table-layout fixed) - 한눈 표 형상칸 「기본 형태」 = 그림 형태 고르기(REVET_FORMS) - [저장] 켬 = 저장할 꼴(tidy · 목록 짝 enabled)끼리 지금 판과 다를 때만(M02_SO_Def_Reflect.differs) - 시험: 322-2 검사 글 · 되돌림 견본 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
This commit is contained in:
@@ -88,6 +88,24 @@ out.partOff = [clone(plain.부품), reflect.rowsOf(plain).get("retaining_wall").
|
||||
reflect.setPartOn(plain, "형상.wall", true);
|
||||
out.partOn = clone(plain.부품);
|
||||
|
||||
// 바꿨다 되돌리면 저장할 것 없음(322-2 다듬기) — 목록 · 횡단도 · 형상칸 · 보임 · 부품
|
||||
const base = clone(input.definition);
|
||||
const work = clone(input.definition);
|
||||
const steps = [];
|
||||
reflect.setReflect(work, "masonry_wet", "목록", "both");
|
||||
steps.push(reflect.differs(work, base));
|
||||
reflect.setReflect(work, "masonry_wet", "목록", "hidden");
|
||||
reflect.setReflect(work, "open_ditch", "횡단도", "anchor");
|
||||
reflect.setReflect(work, "open_ditch", "횡단도", "none");
|
||||
reflect.setShapeOpt(work, "soil_guard", "form", "콘크리트");
|
||||
reflect.setShapeOpt(work, "soil_guard", "form", "통나무·목재틀");
|
||||
reflect.setShown(work, "pipe", ["wing_wall_type"], false);
|
||||
reflect.setShown(work, "pipe", ["wing_wall_type"], true);
|
||||
reflect.setPartOn(work, "3D.chute", false);
|
||||
reflect.setPartOn(work, "3D.chute", true);
|
||||
steps.push(reflect.differs(work, base));
|
||||
out.revert = steps;
|
||||
|
||||
// 명세 폼 숨김 — 저장 · 갈래 키가 모두 숨김인 칸 · 키 있는 칸이 모두 숨긴 상자
|
||||
out.spec = {};
|
||||
for (const [tid, sp] of Object.entries(STRUCTURE_SPECS)) {
|
||||
|
||||
@@ -123,27 +123,25 @@ def test_check_rules(ts: dict) -> None:
|
||||
"부품 「횡단도.span3」 — 참거짓",
|
||||
"부품 「끔」 — 없는 부품",
|
||||
]
|
||||
assert got["rule218"] == ["「개거(겉도랑)」 형상 none — 횡단도도 none 이어야 함"]
|
||||
assert got["mismatch"] == [
|
||||
"「옹벽」 형상 「pipe_set」 — 자리꼴 interval · 정본 structures 에 안 맞음"
|
||||
]
|
||||
assert got["rule218"] == ["「개거(겉도랑)」 형상이 「없음」이면 횡단도도 「안 만듦」"]
|
||||
assert got["mismatch"] == ["「옹벽」 형상 「배관 세트」 — 구간 · 구조물 에 안 맞음"]
|
||||
assert got["hide_read"] == [
|
||||
"「배관」 형상 「pipe_set」 이 읽는 칸 「revet_foundation」 — 숨길 수 없음"
|
||||
"「배관」 형상 「배관 세트」 이 쓰는 칸 「흙막이 기초」 — 숨길 수 없음"
|
||||
]
|
||||
assert got["hide_no_before"] == [] # 앞 판 없음 = 새로 숨긴 것 없음
|
||||
assert got["fixed"] == [
|
||||
# 표 줄도 함께 걸림 — 자리꼴 · 정본을 바꾸면 그 종류 부품이 안 맞음
|
||||
"「BOX암거」 형상 「box」 — 자리꼴 interval · 정본 pipe_points 에 안 맞음",
|
||||
"「BOX암거」 3D 「box」 — 자리꼴 interval · 정본 pipe_points 에 안 맞음",
|
||||
"「기슭막이」 형상 「hidden_revet」 — 자리꼴 interval · 정본 structures 에 안 맞음",
|
||||
"「pipe.pipe_diameter_mm」 선택지 값 — 고칠 수 없음(이름은 이름 표로)",
|
||||
"「box_culvert」 자리꼴 — 만든 뒤 고정",
|
||||
"「revetment」 정본 — 만든 뒤 고정",
|
||||
"「mirror」 군 글자 — 만든 뒤 고정",
|
||||
"종류 「etc」 — 지울 수 없음",
|
||||
"「BOX암거」 형상 「BOX 본체 · 날개벽」 — 구간 · 관 지점 에 안 맞음",
|
||||
"「BOX암거」 3D 「BOX 본체 · 날개벽」 — 구간 · 관 지점 에 안 맞음",
|
||||
"「기슭막이」 형상 「독립 기슭막이」 — 구간 · 구조물 에 안 맞음",
|
||||
"「배관」 「관경」 선택지 값 — 고칠 수 없음(이름만 고침)",
|
||||
"「BOX암거」 자리꼴 — 만든 뒤 고정",
|
||||
"「기슭막이」 정본 — 만든 뒤 고정",
|
||||
"「반사경」 군 글자 — 만든 뒤 고정",
|
||||
"종류 「기타」 — 지울 수 없음",
|
||||
]
|
||||
# 형상 부품을 끄면 벽 다섯은 형상 none — 횡단도도 none 으로 바꿔야 저장됨
|
||||
assert len(got["parts_off"]) == 5 and all("횡단도도 none" in t for t in got["parts_off"])
|
||||
assert len(got["parts_off"]) == 5 and all("횡단도도 「안 만듦」" in t for t in got["parts_off"])
|
||||
|
||||
|
||||
def test_reflect_edits(ts: dict) -> None:
|
||||
@@ -165,6 +163,10 @@ def test_reflect_edits(ts: dict) -> None:
|
||||
assert r["reset"] == [None, None, True]
|
||||
|
||||
|
||||
def test_revert_means_nothing_to_save(ts: dict) -> None:
|
||||
assert ts["revert"] == [True, False] # 바꾸면 저장할 것 · 되돌리면 없음
|
||||
|
||||
|
||||
def test_save_writes_list_and_enabled_together(ts: dict) -> None:
|
||||
sync = ts["sync"]
|
||||
assert sync["same"] is True
|
||||
|
||||
Reference in New Issue
Block a user