test(723-1): 단가산출 고르기 시험 = 일위대가 안 줄 수량 저장 안 함 꼴로
723-1 · 내역 17-1 로 일위대가(SC) 안 줄 수량은 저장하지 않음(null). test_list_amount_and_labor_line_holds_upper_sk 가 옛 꼴(SC 안 줄 손 3 저장)을 믿어 빨강. - 저장본 안 줄 수량 null · 참조 = 회사 SK 그대로 - 금액: 바깥이 SK 를 손 3 으로 바로 참조 = SK 1 단위 × 3 · SC 를 손 1 로 담고 안 줄 미연결 = 0 · 안 줄 알약에 3 을 이으면 = SK 1 단위 × 3 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -52,7 +52,7 @@ def _sk(folder, name):
|
||||
|
||||
|
||||
def test_list_amount_and_labor_line_holds_upper_sk(world): # noqa: F811
|
||||
"""층 목록 SK 줄에 1 단위 `기준금액` · 개인 일위대가 줄이 회사 SK 를 참조 = SK 1 단위 × 수량."""
|
||||
"""층 목록 SK 줄에 1 단위 `기준금액` · 일위대가 안 줄 수량은 저장 안 함(723-1) · 금액 = 쓰는 자리 수량 × SK 1 단위."""
|
||||
from M02_MasterTemplete import M02_Labor_Doc as labor
|
||||
|
||||
sk = _sk(world["company"], "회사 단가산출")
|
||||
@@ -71,7 +71,17 @@ def test_list_amount_and_labor_line_holds_upper_sk(world): # noqa: F811
|
||||
"담은로직": [{"참조": {**COMPANY, "키": sk}, "수량": {"손": 3}}],
|
||||
},
|
||||
)["이름"]
|
||||
saved = store.read("precombo", sc)["문서"]["담은로직"][0]["참조"]
|
||||
got = labor.calc({"담은로직": [{"참조": {**MINE, "키": sc}, "수량": {"손": 1}}]}, {})
|
||||
assert saved == {**COMPANY, "키": sk}
|
||||
assert got["반영합"]["계"] == pytest.approx(one * 3, abs=1)
|
||||
line = store.read("precombo", sc)["문서"]["담은로직"][0]
|
||||
saved, inner = line["참조"], [line["수량"]]
|
||||
outer = {"담은로직": [{"참조": {**MINE, "키": sc}, "수량": {"손": 1}}]}
|
||||
got = labor.calc(outer, {})
|
||||
fed = labor.calc(outer, {f"{refs.ref_id({**MINE, '키': sc})}#0": 3})
|
||||
direct = labor.calc({"담은로직": [{"참조": {**COMPANY, "키": sk}, "수량": {"손": 3}}]}, {})
|
||||
assert saved == {**COMPANY, "키": sk} # 참조 = 회사 SK 그대로
|
||||
# 723-1 · 내역 17-1 — 일위대가 안 줄 수량은 저장 안 함(null) · 쓰는 자리(바깥 문서)에서 들어옴
|
||||
assert inner == [None]
|
||||
assert got["반영합"]["계"] == 0 # 안 줄 수량 없음 = 금액 빠짐
|
||||
assert direct["반영합"]["계"] == pytest.approx(
|
||||
one * 3, abs=1
|
||||
) # 바깥이 SK 를 손 3 으로 바로 참조
|
||||
assert fed["반영합"]["계"] == pytest.approx(one * 3, abs=1) # 바깥이 안 줄 알약에 3 을 이음
|
||||
|
||||
Reference in New Issue
Block a user