|
From: <be...@us...> - 2010-03-31 20:22:09
|
Revision: 337
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=337&view=rev
Author: benoitx
Date: 2010-03-31 20:22:01 +0000 (Wed, 31 Mar 2010)
Log Message:
-----------
Added tests for Total.
Modified Paths:
--------------
trunk/utils/src/main/java/net/objectlab/kit/util/Total.java
Added Paths:
-----------
trunk/utils/src/test/java/net/objectlab/kit/util/TestAssert.java
trunk/utils/src/test/java/net/objectlab/kit/util/TotalTest.java
Removed Paths:
-------------
trunk/utils/src/test/java/net/objectlab/kit/util/SumTest.java
Modified: trunk/utils/src/main/java/net/objectlab/kit/util/Total.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/Total.java 2010-03-31 13:28:06 UTC (rev 336)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/Total.java 2010-03-31 20:22:01 UTC (rev 337)
@@ -46,12 +46,12 @@
private int count = 0;
public Total() {
- this(BigDecimal.ZERO, 2);
+ this(BigDecimal.ZERO, 0);
}
public Total(final BigDecimal start) {
if (start != null) {
- value = start.setScale(2);
+ value = start;
}
}
@@ -82,19 +82,25 @@
*/
public Total add(final BigDecimal... value) {
this.value = BigDecimalUtil.add(this.value, value);
- count += value.length;
+ if (value != null) {
+ count += value.length;
+ }
return this;
}
public Total subtract(final BigDecimal... value) {
this.value = BigDecimalUtil.subtract(this.value, value);
- count += value.length;
+ if (value != null) {
+ count += value.length;
+ }
return this;
}
public Total add(final Integer value) {
- this.value = BigDecimalUtil.add(this.value, new BigDecimal(value));
- count++;
+ if (value != null) {
+ this.value = BigDecimalUtil.add(this.value, new BigDecimal(value));
+ count++;
+ }
return this;
}
@@ -113,8 +119,10 @@
* @return the current Sum with new total.
*/
public Total minus(final BigDecimal... value) {
- this.value = BigDecimalUtil.subtract(this.value, value);
- count += value.length;
+ if (value != null) {
+ this.value = BigDecimalUtil.subtract(this.value, value);
+ count += value.length;
+ }
return this;
}
Deleted: trunk/utils/src/test/java/net/objectlab/kit/util/SumTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/SumTest.java 2010-03-31 13:28:06 UTC (rev 336)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/SumTest.java 2010-03-31 20:22:01 UTC (rev 337)
@@ -1,99 +0,0 @@
-package net.objectlab.kit.util;
-
-import static org.junit.Assert.*;
-
-import org.junit.Test;
-
-public class SumTest {
-
- @Test
- public void testSum() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testSumBigDecimal() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testSumBigDecimalInt() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testSumSum() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testGetTotal() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testSetTotal() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testAddBigDecimalArray() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testSubtract() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testAddInteger() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testAddSum() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testMinusBigDecimalArray() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testMinusSum() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testToString() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testIsZero() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testIsNotZero() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testIsNegative() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testIsZeroOrLess() {
- fail("Not yet implemented");
- }
-
- @Test
- public void testGetCount() {
- fail("Not yet implemented");
- }
-
-}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/TestAssert.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/TestAssert.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/TestAssert.java 2010-03-31 20:22:01 UTC (rev 337)
@@ -0,0 +1,19 @@
+/**
+ *
+ */
+package net.objectlab.kit.util;
+
+import java.math.BigDecimal;
+
+import org.junit.Assert;
+
+/**
+ * @author Benoit
+ *
+ */
+public class TestAssert {
+
+ public static void assertSameValue(final String msg, final BigDecimal bd1, final BigDecimal bd2) {
+ Assert.assertTrue(msg, BigDecimalUtil.isSameValue(bd1, bd2));
+ }
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/TotalTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/TotalTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/TotalTest.java 2010-03-31 20:22:01 UTC (rev 337)
@@ -0,0 +1,109 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigDecimal;
+
+import org.junit.Test;
+
+public class TotalTest {
+ @Test
+ public void testSum() {
+ final Total sum = new Total();
+ assertEquals("scale", 0, sum.getTotal().scale());
+ TestAssert.assertSameValue("ctor", BigDecimal.ZERO, sum.getTotal());
+ }
+
+ @Test
+ public void testSumInt() {
+ final Total sum = new Total(BigDecimal.ZERO, 2);
+ assertEquals("scale", 2, sum.getTotal().scale());
+ TestAssert.assertSameValue("ctor", BigDecimal.ZERO, sum.getTotal());
+ }
+
+ // @Test
+ public void testSumBigDecimal() {
+ final Total sum = new Total(BigDecimal.TEN);
+ assertEquals("scale", 2, sum.getTotal().scale());
+ TestAssert.assertSameValue("ctor", BigDecimal.TEN, sum.getTotal());
+
+ final Total sum2 = new Total(BigDecimal.TEN.setScale(4));
+ assertEquals("scale", 4, sum2.getTotal().scale());
+ TestAssert.assertSameValue("ctor", BigDecimal.TEN, sum2.getTotal());
+ }
+
+ @Test
+ public void testSumBigDecimalInt() {
+ final Total sum = new Total(BigDecimal.TEN, 4);
+ assertEquals("scale", 4, sum.getTotal().scale());
+ TestAssert.assertSameValue("ctor", BigDecimal.TEN, sum.getTotal());
+ }
+
+ @Test
+ public void testgetTotal() {
+ final Total sum = new Total(BigDecimal.TEN, 4);
+ TestAssert.assertSameValue("ctor", BigDecimal.TEN, sum.getTotal());
+ }
+
+ @Test
+ public void testAdd() {
+ final Total sum = new Total();
+ sum.add((BigDecimal[]) null);
+ TestAssert.assertSameValue("add null", BigDecimal.ZERO, sum.getTotal());
+ sum.add(BigDecimal.ZERO);
+ TestAssert.assertSameValue("add 0", BigDecimal.ZERO, sum.getTotal());
+ sum.add(BigDecimal.ONE).add(BigDecimal.ONE);
+ TestAssert.assertSameValue("add 1 + 1", new BigDecimal("2"), sum.getTotal());
+ sum.add(BigDecimal.ONE.negate());
+ TestAssert.assertSameValue("add -1", new BigDecimal("1"), sum.getTotal());
+ sum.add(BigDecimal.TEN.negate());
+ TestAssert.assertSameValue("add -10", new BigDecimal("-9"), sum.getTotal());
+ sum.add(BigDecimal.ONE, BigDecimal.ONE, null, BigDecimal.TEN);
+ TestAssert.assertSameValue("add 1 1 null 10", new BigDecimal("3"), sum.getTotal());
+ }
+
+ @Test
+ public void testSubtract() {
+ final Total sum = new Total();
+ sum.subtract((BigDecimal[]) null);
+ TestAssert.assertSameValue("subtract null", BigDecimal.ZERO, sum.getTotal());
+ sum.subtract(BigDecimal.ZERO);
+ TestAssert.assertSameValue("subtract 0", BigDecimal.ZERO, sum.getTotal());
+ sum.subtract(BigDecimal.ONE).subtract(BigDecimal.ONE);
+ TestAssert.assertSameValue("subtract 1 + 1", new BigDecimal("-2"), sum.getTotal());
+ sum.subtract(BigDecimal.ONE.negate());
+ TestAssert.assertSameValue("subtract -1", new BigDecimal("-1"), sum.getTotal());
+ sum.subtract(BigDecimal.TEN.negate());
+ TestAssert.assertSameValue("subtract -10", new BigDecimal("9"), sum.getTotal());
+ sum.subtract(BigDecimal.ONE, BigDecimal.ONE, null, BigDecimal.TEN);
+ TestAssert.assertSameValue("subtract 1 1 null 10", new BigDecimal("-3"), sum.getTotal());
+ }
+
+ @Test
+ public void testToString() {
+ final Total sum = new Total(BigDecimal.TEN, 4);
+ assertEquals("4 dp", "10.0000", sum.toString());
+ final Total sum2 = new Total();
+ assertEquals("0 dp", "0", sum2.toString());
+ }
+
+ @Test
+ public void testIsZero() {
+ final Total sum = new Total(BigDecimal.TEN, 4);
+ assertFalse("10", sum.isZero());
+
+ final Total sum2 = new Total();
+ assertTrue("0", sum2.isZero());
+
+ final Total sum3 = new Total(BigDecimal.ZERO, 0);
+ assertTrue("0", sum3.isZero());
+
+ final Total sum4 = new Total(new BigDecimal("0.0"));
+ assertTrue("0", sum4.isZero());
+
+ final Total sum5 = new Total(new BigDecimal("0.0"), 0);
+ assertTrue("0", sum5.isZero());
+ }
+}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|