From e52684067153ed4e0b3ac57c6b3f271d3f2c58d8 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 2 Nov 2026 00:02:56 +0900 Subject: [PATCH] =?UTF-8?q?test(723-1):=20=EB=8B=A8=EA=B0=80=EC=82=B0?= =?UTF-8?q?=EC=B6=9C=20=EA=B3=A0=EB=A5=B4=EA=B8=B0=20=EC=8B=9C=ED=97=98=20?= =?UTF-8?q?=3D=20=EC=9D=BC=EC=9C=84=EB=8C=80=EA=B0=80=20=EC=95=88=20?= =?UTF-8?q?=EC=A4=84=20=EC=88=98=EB=9F=89=20=EC=A0=80=EC=9E=A5=20=EC=95=88?= =?UTF-8?q?=20=ED=95=A8=20=EA=BC=B4=EB=A1=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- resources/tester/test_717_4_sangeun_pick.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/resources/tester/test_717_4_sangeun_pick.py b/resources/tester/test_717_4_sangeun_pick.py index dad482a19..37cde66d8 100644 --- a/resources/tester/test_717_4_sangeun_pick.py +++ b/resources/tester/test_717_4_sangeun_pick.py @@ -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 을 이음