Start work on testing and debugging AGGREGATE.
[pspp] / tests / expressions / expressions.sh
index 4ddb5537a0e608ac34a462a2feaa1f954ab2020a..c4e48f409061108672c87a8e14b8c058c3ca2a49 100755 (executable)
@@ -665,6 +665,7 @@ number("123", f3.0) => 123.00
 number(" 123", f3.0) => 12.00
 number("123", f3.1) => 12.30
 number("   ", f3.1) => sysmis
+number("123", a8) => error
 number("123", cca1.2) => error # CCA is not an input format
 
 ltrim('   abc') => "abc"
@@ -1273,6 +1274,20 @@ SYSMIS($SYSMIS) => true
 SYSMIS(1 + $SYSMIS) => true
 
 # FIXME: out-of-range and nearly out-of-range values on dates
+
+# Tests correctness of generic optimizations in optimize_tree().
+(X = 10.00); x + 0 => 10.00
+(X = -3.00); x - 0 => -3.00
+(X = 5.00); 0 + x => 5.00
+(X = 10.00); x * 1 => 10.00
+(X = -3.00); 1 * x => -3.00
+(X = 5.00); x / 1 => 5.00
+(X = 10.00); 0 * x => 0.00
+(X = -3.00); x * 0 => 0.00
+(X = 5.00); 0 / x => 0.00
+(X = 5.00); mod(0, x) => 0.00
+(X = 5.00); x ** 1 => 5.00
+(X = 5.00); x ** 2 => 25.00
 EOF
 if [ $? -ne 0 ] ; then no_result ; fi