|
From: <be...@us...> - 2010-03-28 10:55:15
|
Revision: 318
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=318&view=rev
Author: benoitx
Date: 2010-03-28 10:55:09 +0000 (Sun, 28 Mar 2010)
Log Message:
-----------
Adding tests.
Modified Paths:
--------------
trunk/utils/pom.xml
trunk/utils/src/main/java/net/objectlab/kit/util/BigDecimalUtil.java
trunk/utils/src/test/java/net/objectlab/kit/util/BigDecimalUtilTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/CollectionUtilTest.java
Modified: trunk/utils/pom.xml
===================================================================
--- trunk/utils/pom.xml 2010-03-26 21:32:38 UTC (rev 317)
+++ trunk/utils/pom.xml 2010-03-28 10:55:09 UTC (rev 318)
@@ -3,8 +3,8 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>net.objectlab.kit.util</groupId>
- <artifactId>utils</artifactId>
+ <groupId>net.objectlab.kit</groupId>
+ <artifactId>objectlab-utils</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
Modified: trunk/utils/src/main/java/net/objectlab/kit/util/BigDecimalUtil.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/BigDecimalUtil.java 2010-03-26 21:32:38 UTC (rev 317)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/BigDecimalUtil.java 2010-03-28 10:55:09 UTC (rev 318)
@@ -119,7 +119,7 @@
/**
* Add 2 BigDecimal safely (i.e. handles nulls)
*/
- public static BigDecimal add(final BigDecimal v1, final BigDecimal v2) {
+ private static BigDecimal doAdd(final BigDecimal v1, final BigDecimal v2) {
BigDecimal total = v1;
if (v1 != null && v2 != null) {
total = v1.add(v2);
@@ -133,21 +133,23 @@
* Add n BigDecimal safely (i.e. handles nulls)
*/
public static BigDecimal add(final BigDecimal start, final BigDecimal... values) {
- BigDecimal total = start;
- for (final BigDecimal v : values) {
- total = add(total, v);
+ BigDecimal total = start != null ? start : BigDecimal.ZERO;
+ if (values != null) {
+ for (final BigDecimal v : values) {
+ total = doAdd(total, v);
+ }
}
return total;
}
/**
- * Subtract n BigDecimal safely (i.e. handles nulls)
+ * Subtract n BigDecimal safely (i.e. handles nulls), returns 0
*/
public static BigDecimal subtract(final BigDecimal start, final BigDecimal... values) {
- BigDecimal total = start;
+ BigDecimal total = start != null ? start : BigDecimal.ZERO;
if (values != null) {
for (final BigDecimal v : values) {
- total = subtract(total, v);
+ total = doSubtract(total, v);
}
}
return total;
@@ -156,7 +158,7 @@
/**
* Subtract 2 BigDecimal safely (i.e. handles nulls) v1 - v2
*/
- public static BigDecimal subtract(final BigDecimal v1, final BigDecimal v2) {
+ private static BigDecimal doSubtract(final BigDecimal v1, final BigDecimal v2) {
BigDecimal diff = v1;
if (v1 != null && v2 != null) {
diff = v1.subtract(v2);
@@ -295,7 +297,7 @@
* @return true if the ABS( ABS(v1) - ABS(v2) )
*/
public static BigDecimal absDiff(final BigDecimal v1, final BigDecimal v2) {
- return abs(subtract(abs(v1), abs(v2)));
+ return abs(doSubtract(abs(v1), abs(v2)));
}
/**
@@ -422,7 +424,7 @@
*/
public static BigDecimal addWeightedConstituent(final BigDecimal runningWeightedVal, final BigDecimal valueToAdd, final BigDecimal weightForValueToAdd,
final BigDecimal totalWeight) {
- return BigDecimalUtil.add(runningWeightedVal, BigDecimalUtil.divide(BigDecimalUtil.multiply(valueToAdd, BigDecimalUtil.abs(weightForValueToAdd)),
+ return BigDecimalUtil.doAdd(runningWeightedVal, BigDecimalUtil.divide(BigDecimalUtil.multiply(valueToAdd, BigDecimalUtil.abs(weightForValueToAdd)),
BigDecimalUtil.abs(totalWeight), BigDecimal.ROUND_HALF_UP));
}
@@ -475,7 +477,7 @@
public static boolean movedStrictlyOutsideThresholdPercentage(final BigDecimal startValue, final BigDecimal newValue, final BigDecimal thresholdPercent) {
final BigDecimal s = BigDecimalUtil.setScale(startValue, 10);
final BigDecimal n = BigDecimalUtil.setScale(newValue, 10);
- final BigDecimal diff = BigDecimalUtil.divide(BigDecimalUtil.subtract(s, n), s, BigDecimal.ROUND_HALF_UP);
+ final BigDecimal diff = BigDecimalUtil.divide(BigDecimalUtil.doSubtract(s, n), s, BigDecimal.ROUND_HALF_UP);
// diff = BigDecimalUtil.safeAbsDiff(diff, MagicNumbers.ONE);
return BigDecimalUtil.absCompareTo(diff, thresholdPercent) > 0;
Modified: trunk/utils/src/test/java/net/objectlab/kit/util/BigDecimalUtilTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/BigDecimalUtilTest.java 2010-03-26 21:32:38 UTC (rev 317)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/BigDecimalUtilTest.java 2010-03-28 10:55:09 UTC (rev 318)
@@ -17,6 +17,34 @@
public class BigDecimalUtilTest {
/**
+ * Test method for {@link net.objectlab.kit.util.BigDecimalUtil#divide(java.math.BigDecimal, java.math.BigDecimal, int, int)}.
+ */
+ @Test
+ public void testDivideBigDecimalBigDecimalIntInt() {
+ assertEquals("3 null", null, BigDecimalUtil.divide(null, null, BigDecimal.ROUND_HALF_UP));
+ assertEquals("2a null", null, BigDecimalUtil.divide(BigDecimal.ONE, null, BigDecimal.ROUND_HALF_UP));
+ assertEquals("2c null", null, BigDecimalUtil.divide(null, BigDecimal.ONE, BigDecimal.ROUND_HALF_UP));
+ assertEquals("2d null", null, BigDecimalUtil.divide(null, BigDecimal.ONE, BigDecimal.ROUND_HALF_UP));
+ assertEquals("ONE 2", BigDecimal.ONE, BigDecimalUtil.divide(BigDecimal.ONE, BigDecimal.ONE, BigDecimal.ROUND_HALF_UP));
+ assertEquals("ONE 3", BigDecimal.ONE, BigDecimalUtil.divide(BigDecimal.ONE, BigDecimal.ONE, BigDecimal.ROUND_HALF_UP));
+ }
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.BigDecimalUtil#setScale(java.math.BigDecimal, int)}.
+ */
+ @Test
+ public void testSetScaleBigDecimalInt() {
+ assertEquals("null", null, BigDecimalUtil.setScale(null, 3));
+ assertEquals("1.000", new BigDecimal("1.000"), BigDecimalUtil.setScale(BigDecimal.ONE, 3));
+ assertEquals("1.000 same", new BigDecimal("1.000"), BigDecimalUtil.setScale(new BigDecimal("1.000"), 3));
+ assertEquals("1.00 to 3dp", new BigDecimal("1.000"), BigDecimalUtil.setScale(new BigDecimal("1.00"), 3));
+ assertEquals("1.000 to -1dp", new BigDecimal("0E+1"), BigDecimalUtil.setScale(new BigDecimal("1.000"), -1));
+ assertEquals("1.236 to 2", new BigDecimal("1.24"), BigDecimalUtil.setScale(new BigDecimal("1.236"), 2));
+ assertEquals("1.235 to 2", new BigDecimal("1.24"), BigDecimalUtil.setScale(new BigDecimal("1.235"), 2));
+ assertEquals("1.234 to 2", new BigDecimal("1.23"), BigDecimalUtil.setScale(new BigDecimal("1.23"), 2));
+ }
+
+ /**
* Test method for {@link net.objectlab.kit.util.BigDecimalUtil#inverse(java.math.BigDecimal, int)}.
*/
@Test
@@ -89,19 +117,19 @@
}
/**
- * Test method for {@link net.objectlab.kit.util.BigDecimalUtil#add(java.math.BigDecimal, java.math.BigDecimal)}.
- */
- @Test
- public void testAddBigDecimalBigDecimal() {
- fail("Not yet implemented");
- }
-
- /**
* Test method for {@link net.objectlab.kit.util.BigDecimalUtil#add(java.math.BigDecimal, java.math.BigDecimal[])}.
*/
@Test
public void testAddBigDecimalBigDecimalArray() {
- fail("Not yet implemented");
+ assertEquals("null", BigDecimal.ZERO, BigDecimalUtil.add(null));
+ assertEquals("null+null", BigDecimal.ZERO, BigDecimalUtil.add(null, null));
+ assertEquals("null+null+0", BigDecimal.ZERO, BigDecimalUtil.add(null, null, BigDecimal.ZERO));
+ assertEquals("null+1", BigDecimal.ONE, BigDecimalUtil.add(null, BigDecimal.ONE));
+ assertEquals("1+null", BigDecimal.ONE, BigDecimalUtil.add(BigDecimal.ONE, null));
+ assertEquals("1+null+0", BigDecimal.ONE, BigDecimalUtil.add(BigDecimal.ONE, null, BigDecimal.ZERO));
+ assertEquals("1+null+1", new BigDecimal(2), BigDecimalUtil.add(BigDecimal.ONE, null, BigDecimal.ONE));
+ assertEquals("1+0+1", new BigDecimal(2), BigDecimalUtil.add(BigDecimal.ONE, BigDecimal.ZERO, BigDecimal.ONE));
+ assertEquals("1+1+1", new BigDecimal(3), BigDecimalUtil.add(BigDecimal.ONE, BigDecimal.ONE, BigDecimal.ONE));
}
/**
@@ -110,17 +138,17 @@
@Test
public void testSubtractBigDecimalBigDecimalArray() {
assertEquals("2 null", BigDecimal.ZERO, BigDecimalUtil.subtract(null, (BigDecimal[]) null));
+ assertEquals("3 null", BigDecimal.ZERO, BigDecimalUtil.subtract(null, null, null));
+ assertEquals("0 -null -null", BigDecimal.ZERO, BigDecimalUtil.subtract(BigDecimal.ZERO, null, null));
+ assertEquals("null 0 -null", BigDecimal.ZERO, BigDecimalUtil.subtract(null, BigDecimal.ZERO, null));
+ assertEquals("1 -null", BigDecimal.ONE, BigDecimalUtil.subtract(BigDecimal.ONE, null));
+ assertEquals("1 -null -0", BigDecimal.ONE, BigDecimalUtil.subtract(BigDecimal.ONE, null, BigDecimal.ZERO));
+ assertEquals("1 -0 -null", BigDecimal.ONE, BigDecimalUtil.subtract(BigDecimal.ONE, BigDecimal.ZERO, null));
+ assertEquals("1 -0 -1", BigDecimal.ZERO, BigDecimalUtil.subtract(BigDecimal.ONE, BigDecimal.ZERO, BigDecimal.ONE));
+ assertEquals("1 -null -1", BigDecimal.ZERO, BigDecimalUtil.subtract(BigDecimal.ONE, null, BigDecimal.ONE));
}
/**
- * Test method for {@link net.objectlab.kit.util.BigDecimalUtil#subtract(java.math.BigDecimal, java.math.BigDecimal)}.
- */
- @Test
- public void testSubtractBigDecimalBigDecimal() {
- fail("Not yet implemented");
- }
-
- /**
* Test method for {@link net.objectlab.kit.util.BigDecimalUtil#divide(java.math.BigDecimal, java.math.BigDecimal, int)}.
*/
@Test
@@ -145,14 +173,6 @@
}
/**
- * Test method for {@link net.objectlab.kit.util.BigDecimalUtil#divide(java.math.BigDecimal, java.math.BigDecimal, int, int)}.
- */
- @Test
- public void testDivideBigDecimalBigDecimalIntInt() {
- fail("Not yet implemented");
- }
-
- /**
* Test method for {@link net.objectlab.kit.util.BigDecimalUtil#multiply(java.math.BigDecimal, java.math.BigDecimal)}.
*/
@Test
@@ -257,14 +277,6 @@
}
/**
- * Test method for {@link net.objectlab.kit.util.BigDecimalUtil#setScale(java.math.BigDecimal, int)}.
- */
- @Test
- public void testSetScaleBigDecimalInt() {
- fail("Not yet implemented");
- }
-
- /**
* Test method for {@link net.objectlab.kit.util.BigDecimalUtil#setScale(java.math.BigDecimal, java.lang.Integer)}.
*/
@Test
Modified: trunk/utils/src/test/java/net/objectlab/kit/util/CollectionUtilTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/CollectionUtilTest.java 2010-03-26 21:32:38 UTC (rev 317)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/CollectionUtilTest.java 2010-03-28 10:55:09 UTC (rev 318)
@@ -1,14 +1,18 @@
package net.objectlab.kit.util;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import java.util.HashSet;
+
import org.junit.Test;
public class CollectionUtilTest {
@Test
public void testIsEmpty() {
- fail("Not yet implemented");
+ assertTrue("null", CollectionUtil.isEmpty(null));
+ assertTrue("empty set", CollectionUtil.isEmpty(new HashSet()));
}
@Test
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|