You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2009/09/14 17:27:13 UTC
svn commit: r814694 -
/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/ArithmeticTest.java
Author: sebb
Date: Mon Sep 14 15:27:13 2009
New Revision: 814694
URL: http://svn.apache.org/viewvc?rev=814694&view=rev
Log:
Add some coercion tests
Modified:
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/ArithmeticTest.java
Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/ArithmeticTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/ArithmeticTest.java?rev=814694&r1=814693&r2=814694&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/ArithmeticTest.java (original)
+++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/ArithmeticTest.java Mon Sep 14 15:27:13 2009
@@ -120,6 +120,37 @@
asserter.assertExpression("imanull + imanull", new Integer(0));
}
+ public void testCoercions() throws Exception {
+ asserter.assertExpression("1", new Integer(1)); // numerics default to Integer
+// asserter.assertExpression("5L", new Long(5)); // TODO when implemented
+
+ asserter.setVariable("I2", new Integer(2));
+ asserter.setVariable("L2", new Long(2));
+ asserter.setVariable("L3", new Long(3));
+ asserter.setVariable("B10", BigInteger.TEN);
+
+ // Integer & Integer => Integer
+ asserter.assertExpression("I2 + 2", new Integer(4));
+ asserter.assertExpression("I2 * 2", new Integer(4));
+ asserter.assertExpression("I2 - 2", new Integer(0));
+ asserter.assertExpression("I2 / 2", new Integer(1));
+
+ // Integer & Long => Long
+ asserter.assertExpression("I2 * L2", new Long(4));
+ asserter.assertExpression("I2 / L2", new Long(1));
+
+ // Long & Long => Long
+ asserter.assertExpression("L2 + 3", new Long(5));
+ asserter.assertExpression("L2 + L3", new Long(5));
+ asserter.assertExpression("L2 / L2", new Long(1));
+ asserter.assertExpression("L2 / 2", new Long(1));
+
+ // BigInteger
+ asserter.assertExpression("B10 / 10", BigInteger.ONE);
+ asserter.assertExpression("B10 / I2", new BigInteger("5"));
+ asserter.assertExpression("B10 / L2", new BigInteger("5"));
+ }
+
/**
*
* if silent, all arith exception return 0.0