Files
Aislo/resources/tester/test_est_excel_to_est.py
T

37 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""EST 테스트 앱 엑셀데이타를 EST로 변환 7개 탭(원본 TfrmExcelToEst — 셀 규칙·머리 줄 꼴·호표 만들기)."""
from test_est_rea_parity import run
def test_convert_tabs_and_heads():
result = run(
"math",
r"""(()=>{
const X=EstExcelToEst;
const sheets={노임단가:[['L1',' 보통인부 ','','M2',172698,'']],
견적단가:[['','.펌프','','1','EA','1,500','500','1,000','0','']],
표준시장단가:[['C1','포장','t=5','m2',1000,300,600,100,0.3,'포함',''],],
단가산출:[['','산근 1 호표 : 거푸집 합판 (1 ㎡ 당)',100,60,40,0],['','합판 1*2',40,0,40,0],['','#.산근2|철근가공|D10|ton',9,9,0,0]],
일위대가:[['','No 5 호표 터파기','','','',0,10,0,10,0,0,0,0,''],['','인부','','0.1','인',100,10,100,10,0,0,0,0,''],['','[합계]','','','',0,10,0,0,0,0,0,0,'']]};
const cols=(n)=>Array.from({length:n},(_,i)=>String.fromCharCode(65+i));
const tabs={LaborcDat:{sheet:'노임단가',start:1,end:1,columns:cols(6)},EstiMateDat:{sheet:'견적단가',start:1,end:1,columns:cols(10)},
SilJukDat:{sheet:'표준시장단가',start:1,end:1,columns:cols(11)},CostMainDat:{sheet:'단가산출',start:1,end:3,columns:cols(6)},
HeadMainDat:{sheet:'일위대가',start:1,end:3,columns:cols(14)},StuffcDat:{sheet:'없는시트',start:1,end:1,columns:cols(18)}};
const r=X.convert(sheets,tabs,{name:'시험',wonga:[]}), t=r.project.tables;
return {failed:r.failed, lab:[t.LaborcDat[0].Name,t.LaborcDat[0].Unite,t.LaborcDat[0].TC],
est:[t.EstiMateDat[0].Name,t.EstiMateDat[0].TC,t.EstiMateDat[0].OTC,t.EstiMateDat[0].Code.slice(0,1)],
sil:[t.SilJukDat[0].NCRatio,t.SilJukDat[0].Cost1,t.SilJukDat[0].ONC],
cost:t.CostTitleDat.map(x=>[x.Name,x.Size,x.Unite]), line:t.CostMainDat[1].LineData,
head:[t.HeadTitleDat.map(x=>x.Name),t.HeadMainDat.length], rows:t.EstMainDat.length, auto:r.project.options.AutoCalc};
})()""",
)
assert result["failed"] == ["없는시트 시트가 없습니다."]
assert result["lab"] == ["보통인부", "㎡", 172698]
assert result["est"] == ["펌프", 1500, 1500, "N"]
assert result["sil"] == [30, 1000, 300]
assert result["cost"] == [["거푸집", "합판", "㎡"], ["철근가공", "D10", "ton"]]
assert result["line"] == "합판 1×2"
assert result["head"] == [["터파기"], 2]
assert result["rows"] == 36
assert result["auto"] is False