【ARCHICAD GDL】GDL的測試驅動開發
By leafleafflower
樣板:
! Red
! Green
! Refractor
define style "widthDimensioningStyle" textfont, textHeight*1000, 5, 0
addY 10/100
prefix = "testAdder(11 + 22 = 33)"
a = 11
b = 22
expected = 33
gosub "adder":
result = returnValue
gosub "assert":
addY 10/100
prefix = "testAdder(110 + 22 = 132)"
a = 110
b = 22
expected = 131
gosub "adder":
result = returnValue
gosub "assert":
if 0 then
"adder":
returnValue = a + b
return
"assert":
successExpression = "success"
failExpression = "fail"
if expected = result then
material 76 ! green
! TEXT d, 0, expression
!define style "widthDimensioningStyle" textfont, textHeight*1000, 5, 0
set style "widthDimensioningStyle"
text 0,0, prefix + " " + successExpression
else
material 19 ! red
! TEXT d, 0, expression
!define style "widthDimensioningStyle" textfont, textHeight*1000, 5, 0
set style "widthDimensioningStyle"
text 0,0, prefix + " " + failExpression
endif
return
endif