Author: sebb Date: Wed Mar 27 15:32:24 2013 New Revision: 1461654 URL: http://svn.apache.org/r1461654 Log: LANG-881 Enhance test so it also checks the exact values
Modified: commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java Modified: commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java?rev=1461654&r1=1461653&r2=1461654&view=diff ============================================================================== --- commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java (original) +++ commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java Wed Mar 27 15:32:24 2013 @@ -250,28 +250,29 @@ public class NumberUtilsTest { @Test public void testCreateNumberMagnitude() { // Test Float.MAX_VALUE, and same with +1 in final digit to check conversion changes to next Number type - assertEquals(Float.class, NumberUtils.createNumber("3.4028235e+38").getClass()); - assertEquals(Double.class, NumberUtils.createNumber("3.4028236e+38").getClass()); + assertEquals(Float.valueOf(Float.MAX_VALUE), NumberUtils.createNumber("3.4028235e+38")); + assertEquals(Double.valueOf(3.4028236e+38), NumberUtils.createNumber("3.4028236e+38")); // Test Double.MAX_VALUE - assertEquals(Double.class, NumberUtils.createNumber("1.7976931348623157e+308").getClass()); + assertEquals(Double.valueOf(Double.MAX_VALUE), NumberUtils.createNumber("1.7976931348623157e+308")); // Test with +2 in final digit (+1 does not cause roll-over to BigDecimal) - assertEquals(BigDecimal.class, NumberUtils.createNumber("1.7976931348623159e+308").getClass()); + assertEquals(new BigDecimal("1.7976931348623159e+308"), NumberUtils.createNumber("1.7976931348623159e+308")); - assertEquals(Integer.class, NumberUtils.createNumber("0x12345678").getClass()); - assertEquals(Long.class, NumberUtils.createNumber("0x123456789").getClass()); + assertEquals(Integer.valueOf(0x12345678), NumberUtils.createNumber("0x12345678")); + assertEquals(Long.valueOf(0x123456789L), NumberUtils.createNumber("0x123456789")); - assertEquals(Long.class, NumberUtils.createNumber("0x7fffffffffffffff").getClass()); - assertEquals(BigInteger.class, NumberUtils.createNumber("0x7fffffffffffffff0").getClass()); + assertEquals(Long.valueOf(0x7fffffffffffffffL), NumberUtils.createNumber("0x7fffffffffffffff")); + // Does not appear to be a way to create a literal BigInteger of this magnitude + assertEquals(new BigInteger("7fffffffffffffff0",16), NumberUtils.createNumber("0x7fffffffffffffff0")); - assertEquals(Long.class, NumberUtils.createNumber("#7fffffffffffffff").getClass()); - assertEquals(BigInteger.class, NumberUtils.createNumber("#7fffffffffffffff0").getClass()); + assertEquals(Long.valueOf(0x7fffffffffffffffL), NumberUtils.createNumber("#7fffffffffffffff")); + assertEquals(new BigInteger("7fffffffffffffff0",16), NumberUtils.createNumber("#7fffffffffffffff0")); - assertEquals(Integer.class, NumberUtils.createNumber("017777777777").getClass()); // 31 bits - assertEquals(Long.class, NumberUtils.createNumber("037777777777").getClass()); // 32 bits + assertEquals(Integer.valueOf(017777777777), NumberUtils.createNumber("017777777777")); // 31 bits + assertEquals(Long.valueOf(037777777777L), NumberUtils.createNumber("037777777777")); // 32 bits - assertEquals(Long.class, NumberUtils.createNumber("0777777777777777777777").getClass()); // 63 bits - assertEquals(BigInteger.class, NumberUtils.createNumber("01777777777777777777777").getClass());// 64 bits + assertEquals(Long.valueOf(0777777777777777777777L), NumberUtils.createNumber("0777777777777777777777")); // 63 bits + assertEquals(new BigInteger("1777777777777777777777",8), NumberUtils.createNumber("01777777777777777777777"));// 64 bits } @Test