Files
Aislo/resources/tester/test_b09_form_basis_visible.py

34 lines
1.6 KiB
Python

"""10-A ⑭ 표 형태 66표 까닭을 화면에 — 2026-09-14 사용자 확정 「SW 규칙 · 화면에 드러낼 것」.
사람이 가른 표 형태(`_Forms.FORM_JUDGMENTS`)는 원문 근거가 없는 우리 규칙 —
마스터엔 있으나 화면에 한 번도 안 닿았음. 모양은 서브 10-A 채움과 같게 **칸 밑 회색 한 줄**:
일위대가 상세(`detail_of` → 화면 hint) · 일위대가가 없는 공종은 내역 「일위대가 없음」 비고.
"""
from __future__ import annotations
from B09_Estimation.B09_Estimation_KnownGaps import form_judgment_note
from B09_Estimation.B09_Estimation_UnitPrice import cached_build, detail_of
def test_판정표가_딸린_일위대가_상세에_까닭_한_줄() -> None:
build = cached_build()
code = next(c for c in build.book.titles if c.startswith("B-FP-13-04-04"))
note = detail_of(build, code)["form_basis_note"]
assert "F0412" in note and "참조표" in note and "뒷길이 표준" in note, note
assert "SW 규칙" in note
def test_판정표_없는_공종은_빈_칸() -> None:
assert form_judgment_note("FP-09-03-02") == ""
def test_일위대가_없는_공종은_내역_비고에_까닭() -> None:
from B09_Estimation.B09_Estimation_BillOfQuantities import build_bill
item = {"work_item_code": "FP-12-38-01", "name": "사용횟수", "spec": "", "unit": "회",
"quantity": "1", "in_bill": True} # fmt: skip
rows = build_bill({"work_items": [item], "materials": []}).rows
line = next(r for r in rows if r.code == "FP-12-38-01")
assert "F0392" in line.note and "계수표" in line.note, line.note