Files
Aislo/resources/tester/test_b08_wood_chipping.py
eomsangdonandClaude Opus 5 d7cb14f416 test(B08): tmp/tests 중 tester 에 없던 47 개를 resources/tester 로 옮김
tmp/ 가 창끼리 안 건너가는 것이 확정돼(랩탑이 시간 두고 두 번 확인) 시험·예외가
저절로 건너가도록 git 안으로 옮김. 사용자 확정.

- 내용은 하나도 안 고침 — 자리만 옮김. tmp/tests 는 남겨 둠.
- 같은 이름이 이미 있던 64 개는 랩탑 것을 그대로 두고 건너뜀.
- helper_b05_*.js 둘은 랩탑이 .cjs 로 이미 올린 것과 **줄바꿈만 다른 같은 내용**이라
  복사본을 도로 뺌(시험이 .cjs 를 부름).
- resources/tester/ 에서 전체 1176 통과 · 29 건너뜀 · 실패 0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 17:15:57 +09:00

61 lines
2.2 KiB
Python

"""임목파쇄 — 켤 수 있는 칸 (2026-09-09 사용자 확정 5차 5번).
「근주이식·임목파쇄는 **기본 안 셈**」이되 「⚠ 현장에 따라 **파쇄가 적용될 필요 있음**」이라
**임목파쇄만** 켤 수 있게 둔다. **근주이식은 칸도 안 만든다.**
⚠ 겨누는 것 다섯
① 기본은 **줄이 아예 없다** — 빈 칸이 「세야 함」으로 읽히면 안 된다
(부대시설과 다른 자리 — 그쪽은 **법정 의무**라 줄이 늘 선다)
② 켜면 줄이 선다
③ ⚠ 켜도 **부피는 지어내지 않는다** — 넣어야 값이 선다
④ 부피를 넣으면 값이 서고 코드가 붙는다(FP-08-11 이동식 임목 파쇄)
⑤ 근주이식은 **어느 경우에도 줄이 없다**
"""
from __future__ import annotations
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
sys.path.insert(0, str(ROOT))
from B08_Quantity.B08_Quantity_Engine_Preparation import ( # noqa: E402
STATUS_PENDING,
STATUS_READY,
build_table,
)
def (enabled: object = False, volume: object = None) -> dict:
table = build_table({}, [], [], None, None, {}, None, None, enabled, volume)
return {row["item"]: row for row in table["rows"]}
def test_기본은_줄이_없다() -> None:
"""⚠ 켤 자리가 없으면 물을 일도 없다 — 안 켠 프로젝트에 빈 줄을 세우지 않는다."""
assert "임목파쇄" not in ()
def test_켜면_줄이_선다() -> None:
assert "임목파쇄" in (True)
def test_켜도_부피는_지어내지_않는다() -> None:
row = (True)["임목파쇄"]
assert row["amount"] is None and row["status"] == STATUS_PENDING
assert "부피" in row["reason"]
def test_부피를_넣으면_값이_선다() -> None:
row = (True, 78.0)["임목파쇄"]
assert row["amount"] == 78.0 and row["status"] == STATUS_READY
assert row["work_item_code"] == "FP-08-11"
assert row["unit"] == "㎥"
def test_근주이식은_어느_경우에도_없다() -> None:
"""확정 5차 5번 — 근주이식(FP-14-02)은 **칸도 안 만든다**."""
for enabled, volume in ((False, None), (True, None), (True, 78.0)):
assert "근주이식" not in (enabled, volume)