importspock.lang.UnrollclassMathSpecextendsspock.lang.Specification{def"Maximum von zwei nummerischen Werten etwas umständlicher"(){given:defa=1defb=5defc=5when:defr=Math.max(a,b)then:r==c}def"Maximum von zwei nummerischen Werten"(){expect:Math.max(1,5)==5Math.max(2,3)==3}def"Arithmetic Exception is thrown when division by zero"(){when:1.0/0then:ArithmeticExceptione=thrown()e.message=~"Division"}def"Maximum von zwei nummerischen Werten data-driven"(){expect:Math.max(value1,value2)==resultwhere:value1<<[1,2,3]value2<<[5,3,7]result<<[5,3,7]}@Unroll("Maximum von #value1 und #value2 ist #result")def"Maximum von zwei nummerischen Werten data-driven mit data-table"(){expect:Math.max(value1,value2)==resultwhere:value1|value2|result1|5|52|3|37|3|7}def"Test mit komplexem assert"(){given:StringBuffersbuf=newStringBuffer()when:sbuf.append("test")then:stringWurdeAngehaengt(sbuf)}defstringWurdeAngehaengt={sbuf->sbuf.length()==4&&sbuf.toString()=="test"}}