⚠ **뿌리** — `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>
28 lines
1.3 KiB
Python
28 lines
1.3 KiB
Python
"""재생성이 구조물(비정규) 측점을 유지하는지 — B06 반폭 확대로 구조물이 사라진 건(2026-08-23).
|
|
|
|
2026-08-28 갱신: 공급자가 라우터의 옵션 스냅샷(`_extra_stations`)에서
|
|
`run_section_generation`의 `resolve_extra_stations`(정본 파일)로 옮겨졌다. 스냅샷은
|
|
writer가 자기참조라 늘 비어 있었고(실측: 측점 4건이 화면에 있는데 DB는 `[]`), 그 값을
|
|
되먹이면 B04에서 지운 관이 부활한다. 라우터는 더 이상 공급자가 아니다.
|
|
"""
|
|
|
|
from B06_Section.B06_Section_Router import _regeneration_options
|
|
|
|
|
|
def test_regeneration_options_keep_stored_values_and_swap_half_width():
|
|
stored = {
|
|
"station_interval_m": 20.0,
|
|
"cross_half_width_m": 20.0,
|
|
"extra_stations": [[84.3, "배수관 1"], [159.7, "세월교"]],
|
|
}
|
|
options = _regeneration_options(stored, None, 25.0)
|
|
assert options.cross_half_width_m == 25.0 # 요청 반폭만 교체
|
|
assert options.station_interval_m == 20.0
|
|
|
|
|
|
def test_router_is_no_longer_an_extra_station_supplier():
|
|
"""옵션 스냅샷이 남아 있어도 라우터는 그것을 측점으로 되먹이지 않는다."""
|
|
stored = {"extra_stations": [[84.3, "배수관 1"]]}
|
|
assert _regeneration_options(stored, None, 25.0).extra_stations == ()
|
|
assert _regeneration_options(None, None, 25.0).extra_stations == ()
|