From 2b9440a44e35db00569a3ae6f108056717728495 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 12 Oct 2026 20:59:10 +0900 Subject: [PATCH] =?UTF-8?q?test(b05):=20=EB=AC=BC=EB=84=98=EC=9D=B4?= =?UTF-8?q?=ED=8F=AC=EC=9E=A5=20=EC=9B=94=EB=A5=98=20=ED=8F=AD=20=E2=86=92?= =?UTF-8?q?=20=EB=86=92=EC=9D=B4=20=EC=9E=90=EB=8F=99=20=3D=20=EC=84=B8?= =?UTF-8?q?=EC=9B=94=EA=B5=90=20=ED=95=9C=20=EB=B2=8C=20=ED=99=95=EC=9D=B8?= =?UTF-8?q?=20=C2=B7=20=EC=8B=9C=ED=97=98=EC=9C=BC=EB=A1=9C=20=EB=AA=BB?= =?UTF-8?q?=EB=B0=95=EC=9D=8C=20(287-3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 물넘이 「경사각도」 상자 폭 칸이 세월교와 같은 overflow · fordHeightM 길을 탐(이미 이어짐 · 코드 변경 없음) - 설계유량이 없는 지점은 손 입력(높이 칸 그대로) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01TteK8mfYZetk5P3bEZkyVZ --- resources/tester/helper_287_ford_pavement.cjs | 6 ++++++ resources/tester/test_287_ford_pavement_followup.py | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/resources/tester/helper_287_ford_pavement.cjs b/resources/tester/helper_287_ford_pavement.cjs index fbf56b8de..124043eb7 100644 --- a/resources/tester/helper_287_ford_pavement.cjs +++ b/resources/tester/helper_287_ford_pavement.cjs @@ -95,6 +95,12 @@ const out = { pavePoints: ofClass("b06-chart__ford-pavement").map((k) => k.attrs.points), planPoints: ofClass("b06-chart__ford-deck-plan").map((k) => k.attrs.points), inflowLeft: pave.inflowLeft(tilted), + // 287-3 월류 폭 → 높이 = 세월교와 같은 풀이(유량 1.2 ㎥/s · 폭 10 m) · 유량 없으면 null(손 입력) + heightByWidth: calc.fordHeightM(1.2, 10), + heightNoFlow: calc.fordHeightM(null, 10), + paveSlopeItems: load(D("design_structure_ford_pavement.ts")) + .FORD_PAVEMENT_SPEC.containers.find((c) => c.id === "slope") + .items.map((i) => i.id), // 287-1 길이 넣음 = 월류 폭 × 길이 · 비움 = 기본값 · 폭 바꿈 = 길이 있을 때만 다시 셈 · 폭 비면 기본 폭 areaByLength: change(formOf({ width: "6" }, { length_m: "4", area: "30" }), "chute", "length_m"), areaCleared: change(formOf({ width: "6" }, { length_m: "", area: "24" }), "chute", "length_m"), diff --git a/resources/tester/test_287_ford_pavement_followup.py b/resources/tester/test_287_ford_pavement_followup.py index 94b01daa2..18af864ed 100644 --- a/resources/tester/test_287_ford_pavement_followup.py +++ b/resources/tester/test_287_ford_pavement_followup.py @@ -3,6 +3,7 @@ 못박는 것 - 287-1 도수로/돌붙임 길이 ↔ 면적 — 길이 넣음 = 월류 폭 × 길이 · 비움 = 칸 기본값 · 월류 폭을 바꾸면 길이가 있을 때만 다시 셈 · 폭이 비면 물넘이 기본 폭. + - 287-3 월류 폭 → 높이 자동 = 세월교 한 벌(`fordHeightM` · 폼 `overflow(…, "slope")`) · 유량 없으면 손 입력. - 287-2 · 287-4 콘크리트 윗면 = 설계 노면(서버 · TS 짝이 경사각도로 지대 낮은 쪽 한 경사 · 중심점이 그 위) · 포장층 = 노면공 포장 형상 노견까지(노면공 항목과 안 섞임) · 월류 높이 점선 = 노면 위 같은 각도 · 3D 노면을 파지 않음 · 설계 측구 없음. @@ -81,3 +82,12 @@ def test_3D_노면을_파지_않고_옛_파임_그림을_걷음(): assert "hideFordPavedRoad" not in pave and "fordDeckElevationAt" not in pave view = _read("B06_Section", "B06_Section_UI_Cross_View.ts") assert "hideFordPavedRoad" not in view + + +def test_월류_폭_넣으면_높이_자동_세월교_한_벌(ts): + assert ts["paveSlopeItems"] == ["angle", "width", "height"] + assert ts["heightByWidth"] and ts["heightByWidth"] > 0 + assert ts["heightNoFlow"] is None + form = _read("B05_Profile", "B05_Profile_UI_Drainage_Facility.ts") + assert 'const paveFlowBox = overflow(() => paveForm, "slope");' in form + assert 'if (facility === "ford_pavement") paveFlowBox.fill();' in form