diff options
Diffstat (limited to 'velocity-engine-core/src/test/resources/templates/math.vm')
-rw-r--r-- | velocity-engine-core/src/test/resources/templates/math.vm | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/velocity-engine-core/src/test/resources/templates/math.vm b/velocity-engine-core/src/test/resources/templates/math.vm new file mode 100644 index 00000000..e0e8e816 --- /dev/null +++ b/velocity-engine-core/src/test/resources/templates/math.vm @@ -0,0 +1,71 @@ +#* + +@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 + +Unary negate +#set($five = 5) +#set($a = 0 - $five) +#set($b = 0-$five) +#set($c = - $five) +#set($d = -$five) +#set($e =-$five) +-5 = $a = $b = $c = $d = $e |