⚠ **뿌리** — `tmp/` 는 창 사이에 안 건너감(실측 확인: 상대 창이 놓은 `tmp/_sync_probe.txt` 가 시간을 두고 두 번 봐도 안 보임). 그래서 **정본(등록부 스키마)만 건너가고 그것을 읽는 시험은 안 건너가** 오늘 두 번, 같은 시험이 **연 창은 통과·받은 창은 실패**가 됐음. - `tmp/tests/*` 를 `resources/tester/` 로 **복사**(127 파일). 내용은 **한 줄도 안 고침** - `tmp/tests` 는 **남겨 둠** — 되돌릴 자리(사용자 지시) - 실행: `./venv/Scripts/python.exe -m pytest resources/tester/ -q` 옮기기 전과 **같은 수**: 617 통과 / 22 건너뜀 / 실패 0 ⇒ 이제 시험·예외·까닭이 **정본과 함께** 움직임. 오늘 세운 「예외는 정본 스키마에」와 짝임. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
22 lines
833 B
Python
22 lines
833 B
Python
"""B03 카드 미리보기 — 노선 좌표열 솎기(2026-09-04)."""
|
|
|
|
from B03_FileInput.B03_FileInput_Engine_Shapefile import _thin_preview_path
|
|
|
|
|
|
def test_thin_keeps_endpoints_and_cap() -> None:
|
|
part = [(float(i), float(i * 2)) for i in range(5000)]
|
|
preview = _thin_preview_path([part], limit=200)
|
|
assert len(preview) == 1
|
|
points = preview[0]
|
|
# 상한(+ 끝점 보정 1)을 넘지 않는다.
|
|
assert len(points) <= 201
|
|
assert points[0] == [0.0, 0.0]
|
|
assert points[-1] == [4999.0, 9998.0]
|
|
|
|
|
|
def test_thin_handles_multipart_and_empty() -> None:
|
|
assert _thin_preview_path([]) == []
|
|
assert _thin_preview_path([[]]) == []
|
|
preview = _thin_preview_path([[(0.0, 0.0), (1.0, 1.0)], [(5.0, 5.0), (6.0, 6.0)]], limit=200)
|
|
assert preview == [[[0.0, 0.0], [1.0, 1.0]], [[5.0, 5.0], [6.0, 6.0]]]
|