fix(778-1): 장비 → EQ 괄호 낱말 규칙 — 굴착기(타이어형) = 타이어 기계 · 부속 뺌
- Elem: 괄호 낱말(타이어 · 무한궤도 · 습지 · 트럭탑재) 어긋남 · 부속(자동덮개 · 부착용 · 콤팩터 · 습지) 깎음 · narrow · machine(하나로 가름) - Fixed Linker._machine: 같은 갈래 · 규격 여럿 = 괄호 낱말로 가름 - SkPatch._add_machine: 기계 = 괄호 낱말로 가른 그 기계 · 기계경비 기초 = 그 기계(같은 이름)를 고르기에 둔 기초 먼저 - 여덟 파일 장비 줄 잇기 59 → 172 / 183(32 → 94 %) · 굴착기(타이어형) 42 줄 = 세 길 모두 타이어 · 기초 80 · SK 37 · 고름 대기 89 그대로 - 새 시험 test_778_1_hopyo_machine Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
"""장비 → 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 _key(fake.got["입력값"]["기계"]) == "EQ000026" and fake.got["수량"] == 0.5
|
||||
Reference in New Issue
Block a user