feat(B09): 플레이트 콤펙터 다짐(9-14-2)도 세움 — 다짐 식 둘째
노체다짐과 식이 다름 — 롤러는 V·W·E·D·f/N, 콤펙터는 A·N·H·f·E/P. 원문이 답까지 적어 두어(「∙ = 4.26 ㎥/시간」) 표 계수로 셈한 값과 맞대는 시험을 둠. - 표 칸에 단위가 붙어 오는 것(「0.09㎡」·「36,000회/hr」)을 수만 떼어 읽음. - 기종은 절 제목이 정함(플레이트 콤팩터 1.5) — 표에 기종 칸이 없음. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,8 @@ ROOT = Path(__file__).resolve().parents[2]
|
||||
sys.path.insert(0, str(ROOT))
|
||||
|
||||
from B09_Estimation.B09_Estimation_MachineProductivity_Compaction import ( # noqa: E402
|
||||
COMPACTION_ITEMS,
|
||||
FORMULA_PLATE,
|
||||
capacity_per_hour,
|
||||
compaction_factors,
|
||||
compaction_rows,
|
||||
@@ -80,3 +82,34 @@ def test_단가가_선다() -> None:
|
||||
assert money.total > 0
|
||||
# 포설(굴착기)보다 싸야 한다 — 롤러 한 대가 228㎥/hr 로 도는 줄이다.
|
||||
assert money.total < build.book.resolve("B-FP-09-16-01").total
|
||||
|
||||
|
||||
def test_콤펙터는_다른_식이다() -> None:
|
||||
"""⚠ 식이 둘이다 — 롤러 `V·W·E·D·f/N` · 콤펙터 `A·N·H·f·E/P`."""
|
||||
node = _node("FP-09-14-02")
|
||||
factors = compaction_factors(node["tables"][0], FORMULA_PLATE)
|
||||
assert factors == {
|
||||
"A": Decimal("0.09"),
|
||||
"N": Decimal(36000),
|
||||
"H": Decimal("0.15"),
|
||||
"f": Decimal("1.0"),
|
||||
"E": Decimal("0.5"),
|
||||
"P": Decimal(57),
|
||||
}
|
||||
|
||||
|
||||
def test_콤펙터_작업량이_원문_표기와_같다() -> None:
|
||||
"""⚠ 원문이 답까지 적어 두었다 — 「∙ = 4.26 ㎥/시간」. 어긋나면 우리가 잘못 읽은 것이다."""
|
||||
node = _node("FP-09-14-02")
|
||||
factors = compaction_factors(node["tables"][0], FORMULA_PLATE)
|
||||
assert factors is not None
|
||||
got = capacity_per_hour(factors, FORMULA_PLATE)
|
||||
stated = COMPACTION_ITEMS["FP-09-14-02"]["stated_capacity"]
|
||||
assert abs(got - stated) < Decimal("0.01"), (got, stated)
|
||||
|
||||
|
||||
def test_콤펙터_단가도_선다() -> None:
|
||||
build = cached_build()
|
||||
title = build.book.titles.get("B-FP-09-14-02")
|
||||
assert title is not None and title.unit == "㎥"
|
||||
assert build.book.resolve("B-FP-09-14-02").total > 0
|
||||
|
||||
Reference in New Issue
Block a user