Files
Aislo/resources/tester/test_b10a_rules_visible_b08.py
eomsangdonandClaude Opus 5 475ad7875e feat(b08·b05·b09): 10-A 우리가 정한 SW 규칙을 화면에 드러냄 — 훑기 21건 중 안 보이거나 반만 보이던 13건 채움 + 9-21 제근 굴착기 크기 칸
- 문구 못박음 셋: ① 옹벽 높이 칸 밑 「기본값 · 소광리 도면 H=2.0 · 바꿀 수 있음」(등록부 default_basis 를 모든 칸 밑 회색 한 줄로) · ② 일반관리비 「임도가 어느 쪽인지 규정이 없어 (주)공사 기본 · 칸에서 바꿀 수 있음」 · ③ 모르타르 배합 「산림품셈에 배합 절이 없어 건설품셈 [건축] 9-1-1 을 씀(교차 참조)」
- B08: 막자갈 비고 「칸을 새로 두는 것은 B05 등록부 몫」 · 일위대가 머리 5단 한도 · 야면석 계수 칸 밑 「돌 종류는 그대로」 · 식 저장 전 상태 줄 「제원을 바꿔도 따라감」 · 양식 장 머리 「반올림은 m당 값에 걸고 수량 = m당 × 연장」
- 산출 조건 제근 굴착기 크기 칸(임목축적 등급 밑 · 「안 정함」 · 회색 제안 0.7㎥ + 근거 + [제안값 넣기] 누른 때만) — 936be972 소림 + 0.7 → 뿌리뽑기 55원/㎡ × 17,873.80㎡ = 983,057원(되돌림)
- 라이브러리 이름표: [내 라이브러리에 저장]·[발행] 창이 장 이름(종류 + 제원 요약)을 채워 묻고 고친 이름으로 저장 · 취소면 안 씀 · 비우면 양식 이름
- B05 계곡 통과 시설 폼 머리 「[저장]은 이 폼에 있는 칸만 바꿈 — 폼에 없는 칸은 그대로 둠」 · B09 폐기물처리비 자리 칸 밑 「법정경비 밑수에는 안 넣음」 · 내역서 「금액을 못 세운 줄」 첫 줄 「사유는 아래 단계가 낸 것을 그대로 옮김」
- 남은 하나(표 형태 66표 까닭 form_basis 화면)는 자원 축 파일을 거쳐야 해 브레인 물음

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-14 19:44:18 +09:00

47 lines
1.9 KiB
Python

"""10-A — 우리가 정한 SW 규칙을 화면에 드러내기(B08 몫) · 2026-09-14 사용자 확정 · PLAN 12장.
훑기(21건) 결과 안 보이거나 반만 보이던 자리만 채움 — 칸 밑 근거 한 줄 · 사유 문구 · 제안 회색.
번호는 PLAN 10장 「✅ 사용자 확정 — SW 규칙」 줄 차례(PLAN 4장 10-A 절에 목록).
"""
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
B08 = ROOT / "B08_Quantity"
def _read(name: str) -> str:
return (B08 / name).read_text(encoding="utf-8")
def test_3_뒷채움_폭_칸_신설은_B05_등록부_몫() -> None:
assert "칸을 새로 두는 것은 B05 등록부 몫" in _read(
"B08_Quantity_Engine_UnitQuantity_Masonry.py"
)
def test_4_하위_일위대가_깊이_한도를_미리_보인다() -> None:
assert "하위 일위대가는 5단까지" in _read("B08_Quantity_UI_StructureSheet_UnitPrice.ts")
def test_5_계수_열과_돌_종류는_다른_축() -> None:
assert "돌 종류는 그대로" in _read("B08_Quantity_UI_StructureSheet_Spec.ts")
def test_9_고친_식은_양식과_프로젝트에_묶임() -> None:
assert "제원(높이 등)을 바꿔도 따라감" in _read("B08_Quantity_UI_StructureSheet_Formula.ts")
def test_16_양식_반올림은_m당_값에() -> None:
assert "반올림은 m당 값에 걸고" in _read("B08_Quantity_UI_StructureSheet.ts")
def test_22_제근_굴착기_크기_칸() -> None:
page = _read("B08_Quantity_UI_Page.ts")
side = _read("B08_Quantity_UI_Side_RootRemoval.ts")
assert "root_removal_excavator_m3: draft.root_removal_excavator_m3" in page
assert "root_removal_excavator_m3: (stored.root_removal_excavator_m3" in page
assert "appendRootRemovalFields(" in page
assert "choices.suggested" in side and "createButton(" in side
assert side.count("= suggested.value") == 2 # 단추 안에서만 넣음(비우면 「안 정함」)