1#* 2 3@test escape.vm 4 5This template is used for Velocity regression testing. 6If you alter this template make sure you change the 7corresponding comparison file so that the regression 8test doesn't fail incorrectly. 9 10Tests the basic integer math capabilities. 11 12*# 13 14Addition and subtraction : 15#set($foo = 1) 16#set($foo = $foo + 1) 171 + 1 = $foo 18$foo - 1 = #set($foo = $foo - 1 )$foo 19 20Multiplication, division, and modulus : 21#set($bar = 5) 22#set($rem = $bar % 2) 23#set($rem2 = $bar % 0) 24#set($rem3 = 7%2) 25$bar % 2 = $rem 26$bar % 0 = $rem2 277 % 2 = $rem3 28$bar / 2 = #set($rem = $bar / 2 )$rem 29$bar / 0 = #set($rem4 = $bar / 0 )$rem4 30$bar * 2 = #set($rem = $bar * 2 )$rem 31 32$bar * -1 = #set($rem = $bar * -1)$rem 33$bar * -2 = #set($rem = $bar *-2)$rem 34$bar * -2 = #set($rem = -2*$bar)$rem 35 36And now null nodes to make sure it doesn't throw an NPE : 37#set($flargh=$woogie + $wabbie) 38 39Some test for the new number-handling 40$int1 + $long1 = #set ($rem = $int1 + $long1)$rem 41$int1 - $long1 = #set ($rem = $int1 - $long1)$rem 42$int1 * $long1 = #set ($rem = $int1 * $long1)$rem 43$int1 / $long1 = #set ($rem = $int1 / $long1)$rem 44$int1 % $long1 = #set ($rem = $int1 % $long1)$rem 45 46$int1 + $float1 = #set ($rem = $int1 + $float1)$rem 47$int1 - $float1 = #set ($rem = $int1 - $float1)$rem 48$int1 * $float1 = #set ($rem = $int1 * $float1)$rem 49$int1 / $float1 = #set ($rem = $int1 / $float1)$rem 50 51This checks that an object implementing TemplateNumber can be used in arithmetic 52$int1 + $templatenumber1.AsNumber = #set ($rem = $int1 + $templatenumber1)$rem 53$int1 - $templatenumber1.AsNumber = #set ($rem = $int1 - $templatenumber1)$rem 54$int1 * $templatenumber1.AsNumber = #set ($rem = $int1 * $templatenumber1)$rem 55$int1 / $templatenumber1.AsNumber = #set ($rem = $int1 / $templatenumber1)$rem 56 57Test integer division 585 / 2 = #set($result = 5 / 2)$result 59 60Test decimal division 615 / 2.0 = #set($result = 5 / 2.0)$result 625.0 / 2 = #set($result = 5.0 / 2)$result 63 64Unary negate 65#set($five = 5) 66#set($a = 0 - $five) 67#set($b = 0-$five) 68#set($c = - $five) 69#set($d = -$five) 70#set($e =-$five) 71-5 = $a = $b = $c = $d = $e 72