From 7dbae140c176b87e9fec51e26f30413101aae9a9 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 29 Sep 2026 10:02:00 +0900 Subject: [PATCH] =?UTF-8?q?test(B05=C2=B7B06):=20=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=EC=99=95=EB=B3=B5=20=E2=80=94=20=EC=A7=80=EB=8F=84=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EB=81=88=20=EA=B4=80=EC=9D=80=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=EC=B2=98=EB=9F=BC=20=EC=86=8D=EC=84=B1=EC=9D=84=20=EC=83=88=20?= =?UTF-8?q?=EC=B8=A1=EC=A0=90=EC=9C=BC=EB=A1=9C=20=EC=98=AE=EA=B8=B4=20?= =?UTF-8?q?=EB=92=A4=20=EB=90=98=EB=B6=99=EC=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - sub5 고침(끌기 onMove → 시설 보관소 move)을 받은 뒤 본문 만들기도 같은 차례로 - sub5 · sub6 받은 뒤 남은 차이: 관 측점 정수 m 격자 붙이기 4 곳(440.24 · 619.71 · 720.44 · 899.91) · B06 저장 차례에서 옮긴 관 측점 횡단 patch 가 받을 행이 없어 버려짐 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01AeeQRLknEpP4SFjVkjDWDs --- resources/tester/helper_b05_save_payload.mjs | 4 +++- resources/tester/test_b05_b06_save_roundtrip.py | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/resources/tester/helper_b05_save_payload.mjs b/resources/tester/helper_b05_save_payload.mjs index 363a51f3..08d24b21 100644 --- a/resources/tester/helper_b05_save_payload.mjs +++ b/resources/tester/helper_b05_save_payload.mjs @@ -1,6 +1,6 @@ // 저장 왕복 시험용 — 화면 TS 를 node 로 묶어 저장 본문을 만든다. // node helper_b05_save_payload.mjs <저장소 뿌리> · 표준입력 = 작업 목록(JSON) · 표준출력 끝 줄 = 결과 목록 -// {op:"attach", entries:[관 응답], points:[{chainage_m, source}]} → attach 결과(DetailPipeInput[]) +// {op:"attach", entries:[관 응답], moves:[[옛, 새]], points:[{chainage_m, source}]} → attach 결과 // {op:"station", chainage, interval} → 구조물 측점 칸에 쓰고 다시 읽은 값 // {op:"culvert", server:[관 응답], pending:{측점:조각}, moves:{측점:새 측점}} → PUT 본문 points 또는 null import fs from "node:fs"; @@ -78,6 +78,8 @@ try { if (job.op === "attach") { const store = mod.createFacilityStore(); store.replaceFromResponse(job.entries); + // 지도에서 끈 관 — 화면이 끌기를 마치면 속성을 새 측점으로 옮김(onMove) + for (const [from, to] of job.moves ?? []) store.move(from, to); results.push(store.attach(job.points)); } else if (job.op === "station") { const fields = mod.stationFields("측점", () => job.interval); diff --git a/resources/tester/test_b05_b06_save_roundtrip.py b/resources/tester/test_b05_b06_save_roundtrip.py index 4132a008..a3b25de8 100644 --- a/resources/tester/test_b05_b06_save_roundtrip.py +++ b/resources/tester/test_b05_b06_save_roundtrip.py @@ -301,7 +301,8 @@ class Flow: } for p in self.want_pipes ] - (attached,) = _screen([{"op": "attach", "entries": entries, "points": points}]) + job = {"op": "attach", "entries": entries, "moves": [self.pipe_move], "points": points} + (attached,) = _screen([job]) return attached def b06_pipe_payload(self) -> list[dict[str, Any]]: