Files
Aislo/resources/tester/test_778_1_hopyo_machine.py
T
eomsangdonandClaude Opus 5.5 b665269093 fix(778-1): 엑셀만 장비 — 괄호 낱말로 하나면 그 기계를 고르기에 둔 기계경비 기초 바로
- SkPatch._add_machine: 기계가 하나로 가려지면 옵션 거꾸로 찾기 없이 _mach_logics 첫 기초 + 기계 입력 · 까닭 = GC000268 옵션 거꾸로 찾기가 규격 수로 기계 고르기를 좁혀 굴착기를 놓치고 GC000267(굴착기(무한궤도) 기계경비)로 떨어짐(타이어 줄 17)
- 굴착기(타이어형) 줄 44 = 모두 GC000268 + 0211-0060 · 기계 못 찾음 4 줄 이음(트럭탑재형 크레인 5ton · 진동기 · 동력분무기 · 대형 브레이커 0.7) · 기계경비 잇기 176 → 180 / 183
- 여덟 파일 기초 80 · SK 37 · 고름 대기 89 그대로 · SK 셈 오류 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 12:03:03 +09:00

48 lines
2.4 KiB
Python

"""장비 → EQ 괄호 낱말(PLAN 778-1 · 분석 621-B 2-3) — 「굴착기(타이어형)」 = 타이어 기계 · 부속 뺌.
같은 갈래 · 규격에 이름 여럿(타이어 · 무한궤도 · 습지 · 부착용)인 EQ 를 글의 괄호 낱말로 가름 —
불러오기 이음(`Linker._machine`) · 후보 1위(`Elem.machines`) ·
엑셀만 장비 기계경비 기초(`SkPatch._add_machine`) 모두 같은 기계. master 읽기만.
"""
from M01_MasterData import M01_MasterData_Store as m01
from M02_MasterTemplete import M02_Hopyo_Combine as combine
from M02_MasterTemplete import M02_Hopyo_Elem as elem
from M02_MasterTemplete import M02_Hopyo_Fixed as hfix
from M02_MasterTemplete import M02_Hopyo_SkPatch as skpatch
TIRE = "굴착기(타이어형)(0.6㎥)"
def _key(code: str) -> str:
"""기계 번호(0211-0060) → EQ 키."""
return str(m01.loaded()[1].numbers["EQ"][code]["키"])
def test_굴착기_타이어형_EQ000026_세_길_같음():
linker = hfix.Linker(by_name=True)
assert linker._machine({"이름": "굴착기(타이어형)", "규격": "0.6㎥"}) == "EQ000026"
assert elem.machines(TIRE)[0]["키"] == "EQ000026"
assert elem.machine(TIRE)["키"] == "EQ000026"
# 부속 · 형식 낱말 — 덤프트럭 ≠ 자동덮개 · 굴착기 0.7 ≠ 습지 · 콤팩터(부착용) · 무한궤도 그대로
assert linker._machine({"이름": "덤프트럭", "규격": "15톤"}) == "EQ000074"
assert linker._machine({"이름": "굴착기", "규격": "0.7㎥"}) == "EQ000020"
assert linker._machine({"이름": "굴착기(무한궤도)", "규격": "0.6㎥"}) == "EQ000019"
assert linker._machine({"이름": "굴착기", "규격": "0.6㎥"}) is None # 타이어 · 무한궤도 못 가름
class Fake:
tb, whole, got = 2.0, m01.loaded()[1], None
def add(self, one):
self.got = one
def miss(self, *a, **k):
raise AssertionError("기계 못 찾음")
m = {"갈래": ["굴착기"], "규격": [0.6], "시간": 0.25, "글": TIRE}
fake = Fake()
skpatch._Plan._add_machine(fake, m, {"이름": "x", "단위": "㎥"})
assert fake.got["로직"] != combine.MACHINE["굴착기"] # 굴착기(무한궤도) 기계경비 아님
assert fake.got["입력값"] == {skpatch.MACH_IN: "0211-0060"}
assert _key(fake.got["입력값"]["기계"]) == "EQ000026" and fake.got["수량"] == 0.5