#* @test escape.vm This template is used for Velocity regression testing. If you alter this template make sure you change the corresponding comparison file so that the regression test doesn't fail incorrectly. Tests the basic integer math capabilities. *# Addition and subtraction : #set($foo = 1) #set($foo = $foo + 1) 1 + 1 = $foo $foo - 1 = #set($foo = $foo - 1 )$foo Multiplication, division, and modulus : #set($bar = 5) #set($rem = $bar % 2) #set($rem2 = $bar % 0) #set($rem3 = 7%2) $bar % 2 = $rem $bar % 0 = $rem2 7 % 2 = $rem3 $bar / 2 = #set($rem = $bar / 2 )$rem $bar / 0 = #set($rem4 = $bar / 0 )$rem4 $bar * 2 = #set($rem = $bar * 2 )$rem $bar * -1 = #set($rem = $bar * -1)$rem $bar * -2 = #set($rem = $bar *-2)$rem $bar * -2 = #set($rem = -2*$bar)$rem And now null nodes to make sure it doesn't throw an NPE : #set($flargh=$woogie + $wabbie) Some test for the new number-handling $int1 + $long1 = #set ($rem = $int1 + $long1)$rem $int1 - $long1 = #set ($rem = $int1 - $long1)$rem $int1 * $long1 = #set ($rem = $int1 * $long1)$rem $int1 / $long1 = #set ($rem = $int1 / $long1)$rem $int1 % $long1 = #set ($rem = $int1 % $long1)$rem $int1 + $float1 = #set ($rem = $int1 + $float1)$rem $int1 - $float1 = #set ($rem = $int1 - $float1)$rem $int1 * $float1 = #set ($rem = $int1 * $float1)$rem $int1 / $float1 = #set ($rem = $int1 / $float1)$rem This checks that an object implementing TemplateNumber can be used in arithmetic $int1 + $templatenumber1.AsNumber = #set ($rem = $int1 + $templatenumber1)$rem $int1 - $templatenumber1.AsNumber = #set ($rem = $int1 - $templatenumber1)$rem $int1 * $templatenumber1.AsNumber = #set ($rem = $int1 * $templatenumber1)$rem $int1 / $templatenumber1.AsNumber = #set ($rem = $int1 / $templatenumber1)$rem Test integer division 5 / 2 = #set($result = 5 / 2)$result Test decimal division 5 / 2.0 = #set($result = 5 / 2.0)$result 5.0 / 2 = #set($result = 5.0 / 2)$result