feat(master_data): 건설품셈 토목 8장(지반조사) 로직 22줄 · 자체 인력 6 · 자체 재료 24
- 보링 설치·천공(심도 가산 입력) · 표준관입·베인·자연시료·재하·콘관입 · 탄성파·전기비저항 · 대구경 보링(고성능 착정기) · 케이싱 등 · 폐공 되메우기 - 건설노임에 없는 기술자·숙련기술자 = 인력_자체 - 공통8장 조종원직종 입력 기계에 고성능 착정기 - 베인시험전단기 기구손료는 기계 요소 없어 비고에 막힘 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
This commit is contained in:
@@ -26,6 +26,7 @@ SAMPLES = [
|
||||
"로직_건설품셈_토목5장.json",
|
||||
"로직_건설품셈_토목6장.json",
|
||||
"로직_건설품셈_토목7장.json",
|
||||
"로직_건설품셈_토목8장.json",
|
||||
"로직_산림품셈_03장.json",
|
||||
"로직_산림품셈_04장.json",
|
||||
"로직_산림품셈_05장.json",
|
||||
@@ -350,6 +351,20 @@ def test_토목_배송관_철거_크레인_규격(whole):
|
||||
assert got["트럭탑재형 크레인 15ton"] == Decimal("0.47") * Decimal("0.7")
|
||||
|
||||
|
||||
def test_토목_보링_심도_가산():
|
||||
"""토목 8-1-2 — 깊이 35m = 20m 넘는 15m 를 10m 단위 올림 2번 × 5% · 인력만 · 쵸핑비트는 호박돌층만."""
|
||||
files = cm.load()
|
||||
for row in files["인력_자체.json"]["줄"] + files["재료_자체.json"]["줄"]:
|
||||
if row["값"] is None: # 관리자가 채울 값 — 시험용 가짜 값(파일엔 안 씀)
|
||||
row["값"] = Decimal(1000)
|
||||
given = {"층": "점토층", "규격": "BX", "깊이": 35, "심도가산율": 5}
|
||||
got = mf.run(mf.Master(files), "건설품셈:8-1-2 천공(토사·자갈·호박돌층)", given)
|
||||
qty = {x["이름"]: x["수량"] for x in got["줄"]}
|
||||
assert qty["중급기술자"] == Decimal("0.16") * Decimal("1.1")
|
||||
assert qty["싱글코아바렐"] == Decimal("0.01")
|
||||
assert qty["쵸핑비트"] == 0
|
||||
|
||||
|
||||
def test_범위_입력은_막음(whole):
|
||||
with pytest.raises(mf.FormulaError):
|
||||
mf.run(
|
||||
|
||||
Reference in New Issue
Block a user