- 부품 처음값 spoil_bank 형상 · 3D = none · 형상 부품 「사토(성토 채움)」 지움 - 사토 단면 셈 파이썬 · TS 짝 지움(Engine_SpoilFill · common_util_spoil_fill · spoil_fill 옵션 · fill_area_beyond) - 카드 그림 · 면적표 줄 · 모달 띠 · 고름 선 · B07 표 「사토장」 칸 지움(빈 줄로 되돌림) - B08 수량 · 유토 배분(haul-plan) 미사용 확인 · 남은 사토 값 = [저장] 서버 재계산 · 브라우저 단계 다시 셈으로 정리 - 시험 고쳐 씀: 322_1 · 349_0n · b06_spoil_fill_allocation(남은 값 정리) · spoil_fill_mirror(죽은 길) · 52_9 · cross_design_mirror · 150 · 164 · 179_4 · 316 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VmC34fsxxbweEG3RUjs3Mn
43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
"""사토장 단면 — 죽은 길이 남지 않음 (PLAN 380-1 · 요구 241-8).
|
|
|
|
사토장 · 토취장은 B06 횡단도에 그리지도 조절하지도 않음 — 사토 단면 셈(파이썬 · TS 짝)과
|
|
그림 · 면적표 줄 · 모달 띠 · B07 표 칸을 지움. 남은 자리는 둘뿐:
|
|
· `B06_Section_Cross_Stage.ts` — 옛 사토 값이 남은 앞 출력을 다시 셈(남은 값 정리)
|
|
· 로케일 키 `B06_Design_SpoilFill_Area` — 로케일은 더하기만
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
PROJECT_ROOT = Path(__file__).resolve().parents[2]
|
|
ALLOWED = {
|
|
"B06_Section/logic/B06_Section_Cross_Stage.ts",
|
|
"ui_template/ui_template_locale_b2.ts",
|
|
}
|
|
|
|
|
|
def test_사토_단면_코드_파일_없음() -> None:
|
|
for rel in (
|
|
"B06_Section/B06_Section_Engine_SpoilFill.py",
|
|
"B06_Section/B06_Section_UI_Cross_SpoilFill.ts",
|
|
"common_util/common_util_spoil_fill.py",
|
|
"common_util/common_util_spoil_fill.ts",
|
|
):
|
|
assert not (PROJECT_ROOT / rel).exists(), rel
|
|
|
|
|
|
def test_사토_단면_칸을_읽는_코드_없음() -> None:
|
|
out = subprocess.run( # noqa: S603 — 고정 실행 파일
|
|
["git", "grep", "-l", "-i", "-E", r"spoil_fill|spoil-fill|spoilfill|spoil_sites", "--"]
|
|
+ ["*.py", "*.ts", "*.css", ":!resources/tester", ":!docs"],
|
|
cwd=str(PROJECT_ROOT),
|
|
capture_output=True,
|
|
text=True,
|
|
encoding="utf-8",
|
|
check=False,
|
|
)
|
|
assert out.returncode in (0, 1), out.stderr
|
|
assert set(out.stdout.split()) <= ALLOWED, out.stdout
|