|
From: <be...@us...> - 2010-03-26 21:32:45
|
Revision: 317
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=317&view=rev
Author: benoitx
Date: 2010-03-26 21:32:38 +0000 (Fri, 26 Mar 2010)
Log Message:
-----------
So very agile... prepared all tests... that will fail...
Modified Paths:
--------------
trunk/utils/src/main/java/net/objectlab/kit/util/Average.java
trunk/utils/src/main/java/net/objectlab/kit/util/Sum.java
trunk/utils/src/main/java/net/objectlab/kit/util/WeightedAverage.java
Added Paths:
-----------
trunk/utils/src/test/java/net/objectlab/kit/util/AverageTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/BooleanUtilTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/CollectionUtilTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/IntegerUtilTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/ObjectHolderTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/ObjectUtilTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/PairTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/QuadrupletTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/StringUtilTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/SumTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/TripletTest.java
trunk/utils/src/test/java/net/objectlab/kit/util/WeightedAverageTest.java
Modified: trunk/utils/src/main/java/net/objectlab/kit/util/Average.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/Average.java 2010-03-26 21:24:51 UTC (rev 316)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/Average.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -32,13 +32,15 @@
*/
package net.objectlab.kit.util;
+import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author Benoit
*
*/
-public final class Average {
+public final class Average implements Serializable {
+ private static final long serialVersionUID = 4630559777899225672L;
private Sum sum = new Sum();
private int count = 0;
Modified: trunk/utils/src/main/java/net/objectlab/kit/util/Sum.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/Sum.java 2010-03-26 21:24:51 UTC (rev 316)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/Sum.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -41,11 +41,7 @@
*
*/
public class Sum implements Serializable {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = -8583271171731930344L;
private BigDecimal value = BigDecimal.ZERO;
private int count = 0;
Modified: trunk/utils/src/main/java/net/objectlab/kit/util/WeightedAverage.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/WeightedAverage.java 2010-03-26 21:24:51 UTC (rev 316)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/WeightedAverage.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -40,7 +40,7 @@
*
*/
public class WeightedAverage implements Serializable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 4687472725716492770L;
private final Sum total = new Sum();
private final Sum totalExpanded = new Sum();
private int count = 0;
Added: trunk/utils/src/test/java/net/objectlab/kit/util/AverageTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/AverageTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/AverageTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,80 @@
+/**
+ *
+ */
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * @author Benoit
+ *
+ */
+public class AverageTest {
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.Average#Average()}.
+ */
+ @Test
+ public void testAverage() {
+ fail("Not yet implemented");
+ }
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.Average#Average(java.math.BigDecimal)}.
+ */
+ @Test
+ public void testAverageBigDecimal() {
+ fail("Not yet implemented");
+ }
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.Average#Average(int)}.
+ */
+ @Test
+ public void testAverageInt() {
+ fail("Not yet implemented");
+ }
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.Average#add(java.math.BigDecimal)}.
+ */
+ @Test
+ public void testAdd() {
+ fail("Not yet implemented");
+ }
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.Average#getTotal()}.
+ */
+ @Test
+ public void testGetTotal() {
+ fail("Not yet implemented");
+ }
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.Average#getDataPoints()}.
+ */
+ @Test
+ public void testGetDataPoints() {
+ fail("Not yet implemented");
+ }
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.Average#getAverage()}.
+ */
+ @Test
+ public void testGetAverage() {
+ fail("Not yet implemented");
+ }
+
+ /**
+ * Test method for {@link net.objectlab.kit.util.Average#toString()}.
+ */
+ @Test
+ public void testToString() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/BooleanUtilTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/BooleanUtilTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/BooleanUtilTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,34 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class BooleanUtilTest {
+
+ @Test
+ public void testIsTrueOrNull() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsFalseOrNull() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsTrueBoolean() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsTrueString() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsFalse() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/CollectionUtilTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/CollectionUtilTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/CollectionUtilTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,54 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class CollectionUtilTest {
+
+ @Test
+ public void testIsEmpty() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsNotEmptyCollectionOfQ() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testHasOneItem() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsNotEmptyObjectArray() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSize() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testContains() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testContainsAny() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testNoneEmpty() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSameContent() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/IntegerUtilTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/IntegerUtilTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/IntegerUtilTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,59 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class IntegerUtilTest {
+
+ @Test
+ public void testIsNotZero() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsZero() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsNullOrZero() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsSameValue() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsNotSameValue() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSafeAdd() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSafeSignum() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSafeCompare() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testAssign() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsNotZeroOrNegative() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/ObjectHolderTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/ObjectHolderTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/ObjectHolderTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,29 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class ObjectHolderTest {
+
+ @Test
+ public void testObjectHolder() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testObjectHolderT() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetValue() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetValue() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/ObjectUtilTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/ObjectUtilTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/ObjectUtilTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,59 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class ObjectUtilTest {
+
+ @Test
+ public void testEqualsIntegerInteger() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsBigDecimalBigDecimal() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsObjectObject() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsAny() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsAll() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testNotEqualsAny() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testAnyNull() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testAllNull() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testAtLeastOneNotNull() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testNoneNull() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/PairTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/PairTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/PairTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,59 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class PairTest {
+
+ @Test
+ public void testHashCode() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testCreate() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testPairE1E2() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testPair() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement1() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement2() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement1() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement2() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsObject() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testToString() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/QuadrupletTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/QuadrupletTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/QuadrupletTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,74 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class QuadrupletTest {
+
+ @Test
+ public void testHashCode() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement1() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testCreate() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testQuadruplet() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement1() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement2() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement2() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement3() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement3() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement4() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement4() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsObject() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testToString() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/StringUtilTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/StringUtilTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/StringUtilTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,174 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class StringUtilTest {
+
+ @Test
+ public void testRemoveTrailingChar() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testDefaultFormatDatetime() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testDefaultFileFormatTimestamp() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testReplaceTokenStringStringObject() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testReplace() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testReplaceTokenStringStringString() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testReplaceCRToken() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testWrapText() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testTrimAndUpperCase() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testToLowerCaseString() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testToLowerCaseStringArray() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testToUpperCase() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testProcessCaseTreatment() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testToStringObject() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testToStringOrEmpty() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSingleQuote() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsNotBlank() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testNoneBlank() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testAllEquals() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsAnyIgnoreCaseStringStringArray() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsAnyIgnoreCaseStringString() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testConcat() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testConcatWithSpaces() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEmptyIfNull() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testIsWildcardOrNull() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testReturnIfNotNull() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testFirstCharToUpper() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testTrim() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testPrepareForNumericParsing() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testNullIfEmpty() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testCompareTo() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testAsList() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testBoxify() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/SumTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/SumTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/SumTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,99 @@
+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/TripletTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/TripletTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/TripletTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,64 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class TripletTest {
+
+ @Test
+ public void testHashCode() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement1() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testCreate() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testTriplet() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement1() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement2() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement2() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetElement3() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testSetElement3() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testEqualsObject() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testToString() {
+ fail("Not yet implemented");
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/WeightedAverageTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/WeightedAverageTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/WeightedAverageTest.java 2010-03-26 21:32:38 UTC (rev 317)
@@ -0,0 +1,29 @@
+package net.objectlab.kit.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class WeightedAverageTest {
+
+ @Test
+ public void testGetTotal() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testAdd() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetWeightedAverage() {
+ fail("Not yet implemented");
+ }
+
+ @Test
+ public void testGetCount() {
+ fail("Not yet implemented");
+ }
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <be...@us...> - 2010-03-28 11:46:48
|
Revision: 320
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=320&view=rev
Author: benoitx
Date: 2010-03-28 11:46:42 +0000 (Sun, 28 Mar 2010)
Log Message:
-----------
100% coverage for BooleanUtil
Modified Paths:
--------------
trunk/utils/src/main/java/net/objectlab/kit/util/BooleanUtil.java
trunk/utils/src/test/java/net/objectlab/kit/util/BooleanUtilTest.java
Modified: trunk/utils/src/main/java/net/objectlab/kit/util/BooleanUtil.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/BooleanUtil.java 2010-03-28 11:31:34 UTC (rev 319)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/BooleanUtil.java 2010-03-28 11:46:42 UTC (rev 320)
@@ -52,7 +52,7 @@
* @return true if string is Y,y,YES,yes,TRUE,true,T,t
*/
public static boolean isTrue(final String str) {
- return str == null ? false : StringUtil.equalsAnyIgnoreCase(str, "yes", "y", "TRUE", "t");
+ return str == null ? false : StringUtil.equalsAnyIgnoreCase(StringUtil.trim(str), "yes", "y", "TRUE", "t");
}
public static boolean isFalse(final Boolean b) {
Modified: trunk/utils/src/test/java/net/objectlab/kit/util/BooleanUtilTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/BooleanUtilTest.java 2010-03-28 11:31:34 UTC (rev 319)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/BooleanUtilTest.java 2010-03-28 11:46:42 UTC (rev 320)
@@ -8,27 +8,51 @@
@Test
public void testIsTrueOrNull() {
- fail("Not yet implemented");
+ assertTrue("null", BooleanUtil.isTrueOrNull(null));
+ assertTrue("Boolean.TRUE", BooleanUtil.isTrueOrNull(Boolean.TRUE));
+ assertTrue("true", BooleanUtil.isTrueOrNull(true));
+ assertFalse("Boolean.FALSE", BooleanUtil.isTrueOrNull(Boolean.FALSE));
+ assertFalse("false", BooleanUtil.isTrueOrNull(false));
}
@Test
public void testIsFalseOrNull() {
- fail("Not yet implemented");
+ assertTrue("null", BooleanUtil.isFalseOrNull(null));
+ assertFalse("Boolean.TRUE", BooleanUtil.isFalseOrNull(Boolean.TRUE));
+ assertFalse("true", BooleanUtil.isFalseOrNull(true));
+ assertTrue("Boolean.FALSE", BooleanUtil.isFalseOrNull(Boolean.FALSE));
+ assertTrue("false", BooleanUtil.isFalseOrNull(false));
}
@Test
public void testIsTrueBoolean() {
- fail("Not yet implemented");
+ assertFalse("null", BooleanUtil.isTrue((Boolean)null));
+ assertTrue("Boolean.TRUE", BooleanUtil.isTrue(Boolean.TRUE));
+ assertFalse("Boolean.FALSE", BooleanUtil.isTrue(Boolean.FALSE));
}
@Test
public void testIsTrueString() {
- fail("Not yet implemented");
+ assertFalse("null", BooleanUtil.isTrue((String)null));
+ assertFalse("empty", BooleanUtil.isTrue(""));
+ assertFalse("sjs", BooleanUtil.isTrue("sjs"));
+ assertFalse("space", BooleanUtil.isTrue(" "));
+ assertTrue("y", BooleanUtil.isTrue("y"));
+ assertTrue("yEs", BooleanUtil.isTrue("yEs"));
+ assertTrue("Y", BooleanUtil.isTrue("Y"));
+ assertTrue("YES", BooleanUtil.isTrue("YES"));
+ assertTrue("YeS", BooleanUtil.isTrue("YeS"));
+ assertTrue("t", BooleanUtil.isTrue("t"));
+ assertFalse("tru", BooleanUtil.isTrue("tru"));
+ assertTrue("true", BooleanUtil.isTrue("true"));
+ assertTrue("True", BooleanUtil.isTrue("True"));
+ assertTrue("t ", BooleanUtil.isTrue("t "));
}
@Test
public void testIsFalse() {
- fail("Not yet implemented");
+ assertFalse("null", BooleanUtil.isFalse((Boolean)null));
+ assertFalse("Boolean.TRUE", BooleanUtil.isFalse(Boolean.TRUE));
+ assertTrue("Boolean.FALSE", BooleanUtil.isFalse(Boolean.FALSE));
}
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <be...@us...> - 2010-03-28 12:20:28
|
Revision: 321
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=321&view=rev
Author: benoitx
Date: 2010-03-28 12:20:22 +0000 (Sun, 28 Mar 2010)
Log Message:
-----------
100% coverage for ObjectHolder
Modified Paths:
--------------
trunk/utils/src/main/java/net/objectlab/kit/util/ObjectHolder.java
trunk/utils/src/test/java/net/objectlab/kit/util/ObjectHolderTest.java
Modified: trunk/utils/src/main/java/net/objectlab/kit/util/ObjectHolder.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/ObjectHolder.java 2010-03-28 11:46:42 UTC (rev 320)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/ObjectHolder.java 2010-03-28 12:20:22 UTC (rev 321)
@@ -33,15 +33,21 @@
package net.objectlab.kit.util;
/**
+ * An object holder just in case one needs to give it as an argement to a method.
* @author Benoit Xhenseval
- *
*/
public class ObjectHolder<T> {
private T value;
+ /**
+ * value is null
+ */
public ObjectHolder() {
}
+ /**
+ * with a default value
+ */
public ObjectHolder(final T value) {
this.value = value;
}
Modified: trunk/utils/src/test/java/net/objectlab/kit/util/ObjectHolderTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/ObjectHolderTest.java 2010-03-28 11:46:42 UTC (rev 320)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/ObjectHolderTest.java 2010-03-28 12:20:22 UTC (rev 321)
@@ -1,6 +1,7 @@
package net.objectlab.kit.util;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
import org.junit.Test;
@@ -8,22 +9,27 @@
@Test
public void testObjectHolder() {
- fail("Not yet implemented");
+ final ObjectHolder<Integer> it = new ObjectHolder<Integer>();
+ assertNull(it.getValue());
}
@Test
public void testObjectHolderT() {
- fail("Not yet implemented");
+ final ObjectHolder<Integer> it = new ObjectHolder<Integer>(Integer.valueOf(987987));
+ assertEquals("value", Integer.valueOf(987987), it.getValue());
}
@Test
- public void testGetValue() {
- fail("Not yet implemented");
- }
+ public void testSetValue() {
+ final ObjectHolder<Integer> it = new ObjectHolder<Integer>();
+ assertNull(it.getValue());
+ final Integer val = Integer.valueOf(9879872);
+ it.setValue(val);
+ assertEquals("value 1", val, it.getValue());
- @Test
- public void testSetValue() {
- fail("Not yet implemented");
+ final ObjectHolder<Integer> it2 = new ObjectHolder<Integer>(Integer.valueOf(987987));
+ assertEquals("value 2", Integer.valueOf(987987), it2.getValue());
+ it.setValue(val);
+ assertEquals("value 3", val, it.getValue());
}
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.
|
|
From: <be...@us...> - 2010-03-31 20:25:23
|
Revision: 338
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=338&view=rev
Author: benoitx
Date: 2010-03-31 20:25:15 +0000 (Wed, 31 Mar 2010)
Log Message:
-----------
Fixing tests.
Modified Paths:
--------------
trunk/utils/src/main/java/net/objectlab/kit/util/BooleanUtil.java
trunk/utils/src/test/java/net/objectlab/kit/util/TotalTest.java
Added Paths:
-----------
trunk/utils/src/test/java/net/objectlab/kit/util/BigDecimalAssert.java
Removed Paths:
-------------
trunk/utils/src/test/java/net/objectlab/kit/util/TestAssert.java
Modified: trunk/utils/src/main/java/net/objectlab/kit/util/BooleanUtil.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/BooleanUtil.java 2010-03-31 20:22:01 UTC (rev 337)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/BooleanUtil.java 2010-03-31 20:25:15 UTC (rev 338)
@@ -56,6 +56,6 @@
}
public static boolean isFalse(final Boolean b) {
- return b == null ? true : !b;
+ return b == null ? false : !b;
}
}
Added: trunk/utils/src/test/java/net/objectlab/kit/util/BigDecimalAssert.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/BigDecimalAssert.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/BigDecimalAssert.java 2010-03-31 20:25:15 UTC (rev 338)
@@ -0,0 +1,19 @@
+/**
+ *
+ */
+package net.objectlab.kit.util;
+
+import java.math.BigDecimal;
+
+import org.junit.Assert;
+
+/**
+ * @author Benoit
+ *
+ */
+public class BigDecimalAssert {
+
+ public static void assertSameValue(final String msg, final BigDecimal bd1, final BigDecimal bd2) {
+ Assert.assertTrue(msg, BigDecimalUtil.isSameValue(bd1, bd2));
+ }
+}
Deleted: trunk/utils/src/test/java/net/objectlab/kit/util/TestAssert.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/TestAssert.java 2010-03-31 20:22:01 UTC (rev 337)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/TestAssert.java 2010-03-31 20:25:15 UTC (rev 338)
@@ -1,19 +0,0 @@
-/**
- *
- */
-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));
- }
-}
Modified: trunk/utils/src/test/java/net/objectlab/kit/util/TotalTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/util/TotalTest.java 2010-03-31 20:22:01 UTC (rev 337)
+++ trunk/utils/src/test/java/net/objectlab/kit/util/TotalTest.java 2010-03-31 20:25:15 UTC (rev 338)
@@ -13,72 +13,72 @@
public void testSum() {
final Total sum = new Total();
assertEquals("scale", 0, sum.getTotal().scale());
- TestAssert.assertSameValue("ctor", BigDecimal.ZERO, sum.getTotal());
+ BigDecimalAssert.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());
+ BigDecimalAssert.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());
+ BigDecimalAssert.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());
+ BigDecimalAssert.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());
+ BigDecimalAssert.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());
+ BigDecimalAssert.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());
+ BigDecimalAssert.assertSameValue("add null", BigDecimal.ZERO, sum.getTotal());
sum.add(BigDecimal.ZERO);
- TestAssert.assertSameValue("add 0", BigDecimal.ZERO, sum.getTotal());
+ BigDecimalAssert.assertSameValue("add 0", BigDecimal.ZERO, sum.getTotal());
sum.add(BigDecimal.ONE).add(BigDecimal.ONE);
- TestAssert.assertSameValue("add 1 + 1", new BigDecimal("2"), sum.getTotal());
+ BigDecimalAssert.assertSameValue("add 1 + 1", new BigDecimal("2"), sum.getTotal());
sum.add(BigDecimal.ONE.negate());
- TestAssert.assertSameValue("add -1", new BigDecimal("1"), sum.getTotal());
+ BigDecimalAssert.assertSameValue("add -1", new BigDecimal("1"), sum.getTotal());
sum.add(BigDecimal.TEN.negate());
- TestAssert.assertSameValue("add -10", new BigDecimal("-9"), sum.getTotal());
+ BigDecimalAssert.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());
+ BigDecimalAssert.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());
+ BigDecimalAssert.assertSameValue("subtract null", BigDecimal.ZERO, sum.getTotal());
sum.subtract(BigDecimal.ZERO);
- TestAssert.assertSameValue("subtract 0", BigDecimal.ZERO, sum.getTotal());
+ BigDecimalAssert.assertSameValue("subtract 0", BigDecimal.ZERO, sum.getTotal());
sum.subtract(BigDecimal.ONE).subtract(BigDecimal.ONE);
- TestAssert.assertSameValue("subtract 1 + 1", new BigDecimal("-2"), sum.getTotal());
+ BigDecimalAssert.assertSameValue("subtract 1 + 1", new BigDecimal("-2"), sum.getTotal());
sum.subtract(BigDecimal.ONE.negate());
- TestAssert.assertSameValue("subtract -1", new BigDecimal("-1"), sum.getTotal());
+ BigDecimalAssert.assertSameValue("subtract -1", new BigDecimal("-1"), sum.getTotal());
sum.subtract(BigDecimal.TEN.negate());
- TestAssert.assertSameValue("subtract -10", new BigDecimal("9"), sum.getTotal());
+ BigDecimalAssert.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());
+ BigDecimalAssert.assertSameValue("subtract 1 1 null 10", new BigDecimal("-3"), sum.getTotal());
}
@Test
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <be...@us...> - 2010-11-20 22:49:14
|
Revision: 376
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=376&view=rev
Author: benoitx
Date: 2010-11-20 22:49:07 +0000 (Sat, 20 Nov 2010)
Log Message:
-----------
Added Unit Test for the immutable collections with timeout...
Modified Paths:
--------------
trunk/utils/src/main/java/net/objectlab/kit/collections/AbstractImmutabeExpiringCollection.java
trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringCollection.java
trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringCollectionBuilder.java
trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashMap.java
trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashSet.java
trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashSetBuilder.java
trunk/utils/src/main/java/net/objectlab/kit/collections/MapBuilder.java
trunk/utils/src/main/java/net/objectlab/kit/collections/SetBuilder.java
Added Paths:
-----------
trunk/utils/src/main/java/net/objectlab/kit/collections/DefaultMapBuilder.java
trunk/utils/src/main/java/net/objectlab/kit/collections/DefaultSetBuilder.java
trunk/utils/src/main/java/net/objectlab/kit/util/PeriodBuilder.java
trunk/utils/src/test/java/net/objectlab/kit/collections/
trunk/utils/src/test/java/net/objectlab/kit/collections/ImmutableExpiringHashMapTest.java
trunk/utils/src/test/java/net/objectlab/kit/collections/ImmutableExpiringHashSetTest.java
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/AbstractImmutabeExpiringCollection.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/AbstractImmutabeExpiringCollection.java 2010-11-05 11:41:20 UTC (rev 375)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/AbstractImmutabeExpiringCollection.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -8,15 +8,24 @@
/**
* @author xhensevalb
- *
*/
public abstract class AbstractImmutabeExpiringCollection {
private long expiryTimeoutMilliseconds;
- private boolean loadOnExpiry = true;
+ private boolean reloadOnExpiry = true;
+ private boolean reloadWhenExpired = true;
private boolean loadOnFirstAccess = true;
private long lastLoadingTime;
+ private String id;
private Timer timer;
+ protected void setId(final String id) {
+ this.id = id;
+ }
+
+ public String getId() {
+ return id;
+ }
+
protected void setLastLoadingTime(final long lastLoadingTime) {
this.lastLoadingTime = lastLoadingTime;
}
@@ -25,20 +34,24 @@
this.expiryTimeoutMilliseconds = milliseconds;
}
- public void setLoadOnExpiry(final boolean loadOnExpiry) {
- this.loadOnExpiry = loadOnExpiry;
+ public void setReloadOnExpiry(final boolean reloadOnExpiry) {
+ this.reloadOnExpiry = reloadOnExpiry;
}
public void setLoadOnFirstAccess(final boolean loadOnFirstAccess) {
this.loadOnFirstAccess = loadOnFirstAccess;
}
+ public void setReloadWhenExpired(final boolean reloadWhenExpired) {
+ this.reloadWhenExpired = reloadWhenExpired;
+ }
+
protected boolean hasExpired() {
return System.currentTimeMillis() - lastLoadingTime > expiryTimeoutMilliseconds;
}
public void start() {
- if (loadOnExpiry) {
+ if (reloadOnExpiry) {
// start timer
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@@ -55,7 +68,11 @@
protected void validateOnAccess() {
if (hasExpired()) {
- load();
+ if (reloadWhenExpired || loadOnFirstAccess && lastLoadingTime == 0) {
+ load();
+ } else {
+ doClear();
+ }
}
}
@@ -66,12 +83,14 @@
protected abstract void doLoad();
+ protected abstract void doClear();
+
protected long getExpiryTimeoutMilliseconds() {
return expiryTimeoutMilliseconds;
}
- protected boolean isLoadOnExpiry() {
- return loadOnExpiry;
+ protected boolean isReloadOnExpiry() {
+ return reloadOnExpiry;
}
protected boolean isLoadOnFirstAccess() {
Added: trunk/utils/src/main/java/net/objectlab/kit/collections/DefaultMapBuilder.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/DefaultMapBuilder.java (rev 0)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/DefaultMapBuilder.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -0,0 +1,74 @@
+/**
+ *
+ */
+package net.objectlab.kit.collections;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import net.objectlab.kit.util.Pair;
+
+/**
+ * Inspired by the Google Collection builder.
+ *
+ * @author Benoit Xhenseval
+ *
+ */
+public class DefaultMapBuilder<K, V> implements MapBuilder<K, V> {
+ private final List<Pair<K, V>> entries = new ArrayList<Pair<K, V>>();
+ private final String id;
+
+ public DefaultMapBuilder(final String id) {
+ this.id = id;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Associates {@code key} with {@code value} in the built map.
+ */
+ public DefaultMapBuilder<K, V> put(final K key, final V value) {
+ entries.add(new Pair<K, V>(key, value));
+ return this;
+ }
+
+ /**
+ * Associates all of the given map's keys and values in the built map.
+ *
+ * @throws NullPointerException if any key or value in {@code map} is null
+ */
+ public DefaultMapBuilder<K, V> putAll(final Map<? extends K, ? extends V> map) {
+ for (final Entry<? extends K, ? extends V> entry : map.entrySet()) {
+ put(entry.getKey(), entry.getValue());
+ }
+ return this;
+ }
+
+ /**
+ * Returns a newly-created immutable map.
+ *
+ * @throws IllegalArgumentException if duplicate keys were added
+ */
+ public Map<K, V> build() {
+ return fromEntryList(entries);
+ }
+
+ private static <K, V> Map<K, V> fromEntryList(final List<Pair<K, V>> entries) {
+ final int size = entries.size();
+ switch (size) {
+ case 0:
+ return new HashMap<K, V>();
+ default:
+ final Map<K, V> m = new HashMap<K, V>();
+ for (final Pair<K, V> entry : entries) {
+ m.put(entry.getElement1(), entry.getElement2());
+ }
+ return m;
+ }
+ }
+}
Added: trunk/utils/src/main/java/net/objectlab/kit/collections/DefaultSetBuilder.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/DefaultSetBuilder.java (rev 0)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/DefaultSetBuilder.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -0,0 +1,38 @@
+/**
+ *
+ */
+package net.objectlab.kit.collections;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author xhensevalb
+ *
+ */
+public class DefaultSetBuilder<T> implements SetBuilder<T> {
+ private final Set<T> set = new HashSet<T>();
+ private final String id;
+
+ public DefaultSetBuilder(final String id) {
+ super();
+ this.id = id;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void add(final T t) {
+ set.add(t);
+ }
+
+ public void addAll(final Collection<T> t) {
+ set.addAll(t);
+ }
+
+ Set<T> build() {
+ return new HashSet<T>(set);
+ }
+}
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringCollection.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringCollection.java 2010-11-05 11:41:20 UTC (rev 375)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringCollection.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -12,7 +12,9 @@
void setLoadOnFirstAccess(boolean loadOnFirstAccess);
- void setLoadOnExpiry(boolean loadOnExpiry);
+ void setReloadOnExpiry(boolean loadOnExpiry);
+ void setReloadWhenExpired(boolean loadWhenExpired);
+
void start();
}
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringCollectionBuilder.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringCollectionBuilder.java 2010-11-05 11:41:20 UTC (rev 375)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringCollectionBuilder.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -1,20 +1,52 @@
package net.objectlab.kit.collections;
+import net.objectlab.kit.util.PeriodBuilder;
+
+/**
+ * Builder for the immutable classes.
+ * Default:
+ * - no time out
+ * - reload on expiry: true
+ * - load on first access only (ie not at construction time)
+ *
+ * @author xhensevalb
+ *
+ */
public class ImmutableExpiringCollectionBuilder {
- private long expiryTimeoutMilliseconds;
- private boolean loadOnExpiry = true;
+ private long expiryTimeoutMilliseconds = -1;
+ private boolean reloadOnExpiry = true;
+ private boolean reloadWhenExpired = true;
private boolean loadOnFirstAccess = true;
+ private String id;
- public ImmutableExpiringCollectionBuilder expiryTimeoutMilliseconds(final long expiryTimeourMilliseconds) {
- this.expiryTimeoutMilliseconds = expiryTimeourMilliseconds;
+ public ImmutableExpiringCollectionBuilder id(final String id) {
+ this.id = id;
return this;
}
- public ImmutableExpiringCollectionBuilder loadOnExpiry(final boolean loadOnExpiry) {
- this.loadOnExpiry = loadOnExpiry;
+ public ImmutableExpiringCollectionBuilder expiryTimeout(final PeriodBuilder expiryTimeout) {
+ assert expiryTimeout != null;
+ if (expiryTimeout != null) {
+ this.expiryTimeoutMilliseconds = expiryTimeout.calculateMilliseconds();
+ }
return this;
}
+ public ImmutableExpiringCollectionBuilder expiryTimeoutMilliseconds(final long expiryTimeoutMilliseconds) {
+ this.expiryTimeoutMilliseconds = expiryTimeoutMilliseconds;
+ return this;
+ }
+
+ public ImmutableExpiringCollectionBuilder reloadWhenExpired(final boolean reloadWhenExpired) {
+ this.reloadWhenExpired = reloadWhenExpired;
+ return this;
+ }
+
+ public ImmutableExpiringCollectionBuilder reloadOnExpiry(final boolean loadOnExpiry) {
+ this.reloadOnExpiry = loadOnExpiry;
+ return this;
+ }
+
public ImmutableExpiringCollectionBuilder loadOnFirstAccess(final boolean loadOnFirstAccess) {
this.loadOnFirstAccess = loadOnFirstAccess;
return this;
@@ -24,12 +56,19 @@
return expiryTimeoutMilliseconds;
}
- final boolean isLoadOnExpiry() {
- return loadOnExpiry;
+ final boolean isReloadOnExpiry() {
+ return reloadOnExpiry;
}
+ final boolean isReloadWhenExpired() {
+ return reloadWhenExpired;
+ }
+
final boolean isLoadOnFirstAccess() {
return loadOnFirstAccess;
}
+ final String getId() {
+ return id;
+ }
}
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashMap.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashMap.java 2010-11-05 11:41:20 UTC (rev 375)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashMap.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -18,15 +18,17 @@
public ImmutableExpiringHashMap(final ImmutableExpiringHashMapBuilder<K, V> builder) {
loader = builder.getLoader();
+ setId(builder.getId());
setExpiryTimeoutMilliseconds(builder.getExpiryTimeoutMilliseconds());
- setLoadOnExpiry(builder.isLoadOnExpiry());
+ setReloadOnExpiry(builder.isReloadOnExpiry());
setLoadOnFirstAccess(builder.isLoadOnFirstAccess());
+ setReloadWhenExpired(builder.isReloadWhenExpired());
start();
}
@Override
protected void doLoad() {
- final MapBuilder<K, V> builder = new MapBuilder<K, V>();
+ final DefaultMapBuilder<K, V> builder = new DefaultMapBuilder<K, V>(getId());
loader.load(builder);
delegate = builder.build();
}
@@ -86,4 +88,9 @@
validateOnAccess();
return delegate.values();
}
+
+ @Override
+ protected void doClear() {
+ delegate.clear();
+ }
}
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashSet.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashSet.java 2010-11-05 11:41:20 UTC (rev 375)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashSet.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -18,15 +18,17 @@
public ImmutableExpiringHashSet(final ImmutableExpiringHashSetBuilder<T> builder) {
this.loader = builder.getLoader();
+ setId(builder.getId());
setExpiryTimeoutMilliseconds(builder.getExpiryTimeoutMilliseconds());
- setLoadOnExpiry(builder.isLoadOnExpiry());
+ setReloadOnExpiry(builder.isReloadOnExpiry());
setLoadOnFirstAccess(builder.isLoadOnFirstAccess());
+ setReloadWhenExpired(builder.isReloadWhenExpired());
start();
}
@Override
protected void doLoad() {
- final SetBuilder<T> builder = new SetBuilder<T>();
+ final DefaultSetBuilder<T> builder = new DefaultSetBuilder<T>(getId());
loader.load(builder);
delegate = builder.build();
}
@@ -90,4 +92,9 @@
validateOnAccess();
return delegate.toArray(a);
}
+
+ @Override
+ protected void doClear() {
+ delegate.clear();
+ }
}
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashSetBuilder.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashSetBuilder.java 2010-11-05 11:41:20 UTC (rev 375)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/ImmutableExpiringHashSetBuilder.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -1,5 +1,12 @@
package net.objectlab.kit.collections;
+/**
+ * The builder in charge of providing the parameters for the Set.
+ *
+ * @author xhensevalb
+ *
+ * @param <T>
+ */
public class ImmutableExpiringHashSetBuilder<T> extends ImmutableExpiringCollectionBuilder {
private final SetLoader<T> loader;
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/MapBuilder.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/MapBuilder.java 2010-11-05 11:41:20 UTC (rev 375)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/MapBuilder.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -3,66 +3,26 @@
*/
package net.objectlab.kit.collections;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
-import net.objectlab.kit.util.Pair;
-
/**
* Inspired by the Google Collection builder.
*
* @author Benoit Xhenseval
*
*/
-public class MapBuilder<K, V> {
- final List<Pair<K, V>> entries = new ArrayList<Pair<K, V>>();
+public interface MapBuilder<K, V> {
+ String getId();
- public MapBuilder() {
- }
-
/**
* Associates {@code key} with {@code value} in the built map.
*/
- public MapBuilder<K, V> put(final K key, final V value) {
- entries.add(new Pair<K, V>(key, value));
- return this;
- }
+ MapBuilder<K, V> put(K key, V value);
/**
* Associates all of the given map's keys and values in the built map.
*
* @throws NullPointerException if any key or value in {@code map} is null
*/
- public MapBuilder<K, V> putAll(final Map<? extends K, ? extends V> map) {
- for (final Entry<? extends K, ? extends V> entry : map.entrySet()) {
- put(entry.getKey(), entry.getValue());
- }
- return this;
- }
-
- /**
- * Returns a newly-created immutable map.
- *
- * @throws IllegalArgumentException if duplicate keys were added
- */
- public Map<K, V> build() {
- return fromEntryList(entries);
- }
-
- private static <K, V> Map<K, V> fromEntryList(final List<Pair<K, V>> entries) {
- final int size = entries.size();
- switch (size) {
- case 0:
- return new HashMap<K, V>();
- default:
- final Map<K, V> m = new HashMap<K, V>();
- for (final Pair<K, V> entry : entries) {
- m.put(entry.getElement1(), entry.getElement2());
- }
- return m;
- }
- }
-}
+ MapBuilder<K, V> putAll(Map<? extends K, ? extends V> map);
+}
\ No newline at end of file
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/SetBuilder.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/SetBuilder.java 2010-11-05 11:41:20 UTC (rev 375)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/SetBuilder.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -3,21 +3,16 @@
*/
package net.objectlab.kit.collections;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.Collection;
/**
* @author xhensevalb
*
*/
-public class SetBuilder<T> {
- private final Set<T> set = new HashSet<T>();
+public interface SetBuilder<T> {
+ String getId();
- public void add(final T t) {
- set.add(t);
- }
+ void add(final T t);
- public Set<T> build() {
- return new HashSet<T>(set);
- }
+ void addAll(final Collection<T> t);
}
Added: trunk/utils/src/main/java/net/objectlab/kit/util/PeriodBuilder.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/util/PeriodBuilder.java (rev 0)
+++ trunk/utils/src/main/java/net/objectlab/kit/util/PeriodBuilder.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -0,0 +1,60 @@
+/**
+ *
+ */
+package net.objectlab.kit.util;
+
+/**
+ * A simple helper class that is NOT SCIENTIFIC but accurate enough
+ * for the mere mortals, to calculate the number of milliseconds to
+ * be used in say a timer but setup in a easier way...
+ * @author xhensevalb
+ *
+ */
+public class PeriodBuilder {
+ private int weeks = 0;
+ private int days = 0;
+ private int hours = 0;
+ private int minutes = 0;
+ private int seconds = 0;
+ private long milliseconds = 0;
+
+ public long calculateMilliseconds() {
+ return milliseconds //
+ + seconds * 1000L //
+ + minutes * 60L * 1000L //
+ + hours * 60L * 60L * 1000L //
+ + days * 24L * 60L * 60L * 1000L //
+ + weeks * 7L * 24L * 60L * 60L * 1000L //
+ ;
+ }
+
+ public PeriodBuilder weeks(final int weeks) {
+ this.weeks = weeks;
+ return this;
+ }
+
+ public PeriodBuilder days(final int days) {
+ this.days = days;
+ return this;
+ }
+
+ public PeriodBuilder hours(final int hours) {
+ this.hours = hours;
+ return this;
+ }
+
+ public PeriodBuilder minutes(final int minutes) {
+ this.minutes = minutes;
+ return this;
+ }
+
+ public PeriodBuilder seconds(final int seconds) {
+ this.seconds = seconds;
+ return this;
+ }
+
+ public PeriodBuilder milliseconds(final int milliseconds) {
+ this.milliseconds = milliseconds;
+ return this;
+ }
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/collections/ImmutableExpiringHashMapTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/collections/ImmutableExpiringHashMapTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/collections/ImmutableExpiringHashMapTest.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -0,0 +1,228 @@
+/**
+ *
+ */
+package net.objectlab.kit.collections;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author xhensevalb
+ *
+ */
+public class ImmutableExpiringHashMapTest implements MapLoader<String, Integer> {
+
+ private int reloadCount;
+
+ @Before
+ public void reset() {
+ reloadCount = 0;
+ }
+
+ @Test
+ public void basicConstructorNoReload() {
+ final ImmutableExpiringHashMapBuilder<String, Integer> builder = new ImmutableExpiringHashMapBuilder<String, Integer>(this);
+ builder.expiryTimeoutMilliseconds(1000);
+ builder.loadOnFirstAccess(true);
+ builder.reloadOnExpiry(false);
+ builder.reloadWhenExpired(false);
+ builder.id("Greetings");
+
+ final ImmutableExpiringMap<String, Integer> ims = new ImmutableExpiringHashMap<String, Integer>(builder);
+
+ assertEquals("Should not call load until called", 0, reloadCount);
+
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ try {
+ Thread.sleep(101);
+ } catch (final InterruptedException e) {
+ }
+
+ // second call
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ try {
+ Thread.sleep(901);
+ } catch (final InterruptedException e) {
+ }
+
+ // should be gone
+ assertTrue(ims.isEmpty());
+ assertEquals(0, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertFalse("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertNull(ims.get("Yo"));
+ }
+
+ @Test
+ public void basicConstructorWithReloadWhenCalled() {
+ final ImmutableExpiringHashMapBuilder<String, Integer> builder = new ImmutableExpiringHashMapBuilder<String, Integer>(this);
+ builder.expiryTimeoutMilliseconds(1000);
+ builder.loadOnFirstAccess(true);
+ builder.reloadOnExpiry(false);
+ builder.reloadWhenExpired(true);
+ builder.id("Greetings");
+
+ final ImmutableExpiringMap<String, Integer> ims = new ImmutableExpiringHashMap<String, Integer>(builder);
+
+ assertEquals("Should not call load until called", 0, reloadCount);
+
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ try {
+ Thread.sleep(101);
+ } catch (final InterruptedException e) {
+ }
+
+ // second call
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ try {
+ Thread.sleep(901);
+ } catch (final InterruptedException e) {
+ }
+
+ assertEquals("2) Should not call load until called", 1, reloadCount);
+
+ // should be gone
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(2, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ }
+
+ @Test
+ public void basicConstructorWithImmediateLoadAndWhenExpired() {
+ final ImmutableExpiringHashMapBuilder<String, Integer> builder = new ImmutableExpiringHashMapBuilder<String, Integer>(this);
+ builder.expiryTimeoutMilliseconds(1000);
+ builder.loadOnFirstAccess(false);
+ builder.reloadOnExpiry(false);
+ builder.reloadWhenExpired(true);
+ builder.id("Greetings");
+
+ final ImmutableExpiringMap<String, Integer> ims = new ImmutableExpiringHashMap<String, Integer>(builder);
+
+ assertEquals("Should not call load until called", 1, reloadCount);
+
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ try {
+ Thread.sleep(101);
+ } catch (final InterruptedException e) {
+ }
+
+ // second call
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ try {
+ Thread.sleep(901);
+ } catch (final InterruptedException e) {
+ }
+
+ assertEquals("2) Should not call load until called", 1, reloadCount);
+
+ // should be gone
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(2, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ }
+
+ @Test
+ public void basicConstructorWithReloadOnExpiry() {
+ final ImmutableExpiringHashMapBuilder<String, Integer> builder = new ImmutableExpiringHashMapBuilder<String, Integer>(this);
+ builder.expiryTimeoutMilliseconds(1000);
+ builder.loadOnFirstAccess(false);
+ builder.reloadOnExpiry(true);
+ builder.reloadWhenExpired(false);
+ builder.id("Greetings");
+
+ final ImmutableExpiringMap<String, Integer> ims = new ImmutableExpiringHashMap<String, Integer>(builder);
+
+ assertEquals("Should not call load until called", 1, reloadCount);
+
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+
+ // second call
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(1, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ try {
+ Thread.sleep(901);
+ } catch (final InterruptedException e) {
+ }
+
+ assertEquals("2) Should not call load until called", 2, reloadCount);
+
+ // should be gone
+ assertFalse(ims.isEmpty());
+ assertEquals(2, ims.size());
+ assertEquals(2, reloadCount);
+ assertFalse("diff key", ims.containsKey("Hi"));
+ assertTrue("Correct key", ims.containsKey("Hello"));
+ assertNull("diff key", ims.get("Hi"));
+ assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ }
+
+ public void load(final MapBuilder<String, Integer> builder) {
+ assertEquals("Greetings", builder.getId());
+ builder.put("Hello", 1);
+ builder.put("Yo", 2);
+ reloadCount++;
+ }
+
+}
Added: trunk/utils/src/test/java/net/objectlab/kit/collections/ImmutableExpiringHashSetTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/collections/ImmutableExpiringHashSetTest.java (rev 0)
+++ trunk/utils/src/test/java/net/objectlab/kit/collections/ImmutableExpiringHashSetTest.java 2010-11-20 22:49:07 UTC (rev 376)
@@ -0,0 +1,206 @@
+/**
+ *
+ */
+package net.objectlab.kit.collections;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author xhensevalb
+ *
+ */
+public class ImmutableExpiringHashSetTest implements SetLoader<String> {
+
+ private int reloadCount;
+
+ @Before
+ public void reset() {
+ reloadCount = 0;
+ }
+
+ @Test
+ public void basicConstructorNoReload() {
+ final ImmutableExpiringHashSetBuilder<String> builder = new ImmutableExpiringHashSetBuilder<String>(this);
+ builder.expiryTimeoutMilliseconds(1000);
+ builder.loadOnFirstAccess(true);
+ builder.reloadOnExpiry(false);
...
[truncated message content] |
|
From: <be...@us...> - 2010-11-21 16:06:37
|
Revision: 380
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=380&view=rev
Author: benoitx
Date: 2010-11-21 16:06:31 +0000 (Sun, 21 Nov 2010)
Log Message:
-----------
Added a stop method
unit tests to use the time provider mechanism.
Modified Paths:
--------------
trunk/utils/src/main/java/net/objectlab/kit/collections/AbstractReadOnlyExpiringCollection.java
trunk/utils/src/main/java/net/objectlab/kit/collections/ReadOnlyExpiringHashMap.java
trunk/utils/src/main/java/net/objectlab/kit/collections/ReadOnlyExpiringHashSet.java
trunk/utils/src/test/java/net/objectlab/kit/collections/ReadOnlyExpiringHashMapTest.java
trunk/utils/src/test/java/net/objectlab/kit/collections/ReadOnlyExpiringHashSetTest.java
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/AbstractReadOnlyExpiringCollection.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/AbstractReadOnlyExpiringCollection.java 2010-11-21 15:45:38 UTC (rev 379)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/AbstractReadOnlyExpiringCollection.java 2010-11-21 16:06:31 UTC (rev 380)
@@ -48,7 +48,7 @@
}
protected boolean hasExpired() {
- return timeProvider.getCurrentTimeMillis() - lastLoadingTime > expiryTimeoutMilliseconds;
+ return lastLoadingTime == 0 || timeProvider.getCurrentTimeMillis() - lastLoadingTime > expiryTimeoutMilliseconds;
}
public void start() {
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/ReadOnlyExpiringHashMap.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/ReadOnlyExpiringHashMap.java 2010-11-21 15:45:38 UTC (rev 379)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/ReadOnlyExpiringHashMap.java 2010-11-21 16:06:31 UTC (rev 380)
@@ -23,6 +23,7 @@
setReloadOnExpiry(builder.isReloadOnExpiry());
setLoadOnFirstAccess(builder.isLoadOnFirstAccess());
setReloadWhenExpired(builder.isReloadWhenExpired());
+ setTimeProvider(builder.getTimeProvider());
start();
}
Modified: trunk/utils/src/main/java/net/objectlab/kit/collections/ReadOnlyExpiringHashSet.java
===================================================================
--- trunk/utils/src/main/java/net/objectlab/kit/collections/ReadOnlyExpiringHashSet.java 2010-11-21 15:45:38 UTC (rev 379)
+++ trunk/utils/src/main/java/net/objectlab/kit/collections/ReadOnlyExpiringHashSet.java 2010-11-21 16:06:31 UTC (rev 380)
@@ -23,6 +23,7 @@
setReloadOnExpiry(builder.isReloadOnExpiry());
setLoadOnFirstAccess(builder.isLoadOnFirstAccess());
setReloadWhenExpired(builder.isReloadWhenExpired());
+ setTimeProvider(builder.getTimeProvider());
start();
}
Modified: trunk/utils/src/test/java/net/objectlab/kit/collections/ReadOnlyExpiringHashMapTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/collections/ReadOnlyExpiringHashMapTest.java 2010-11-21 15:45:38 UTC (rev 379)
+++ trunk/utils/src/test/java/net/objectlab/kit/collections/ReadOnlyExpiringHashMapTest.java 2010-11-21 16:06:31 UTC (rev 380)
@@ -15,13 +15,15 @@
* @author xhensevalb
*
*/
-public class ReadOnlyExpiringHashMapTest implements MapLoader<String, Integer> {
+public class ReadOnlyExpiringHashMapTest implements MapLoader<String, Integer>, TimeProvider {
private int reloadCount;
+ private long time;
@Before
public void reset() {
reloadCount = 0;
+ time = System.currentTimeMillis();
}
@Test
@@ -31,6 +33,7 @@
builder.loadOnFirstAccess(true);
builder.reloadOnExpiry(false);
builder.reloadWhenExpired(false);
+ builder.timeProvider(this);
builder.id("Greetings");
final ReadOnlyExpiringMap<String, Integer> ims = new ReadOnlyExpiringHashMap<String, Integer>(builder);
@@ -44,11 +47,10 @@
assertTrue("Correct key", ims.containsKey("Hello"));
assertNull("diff key", ims.get("Hi"));
assertEquals(Integer.valueOf(2), ims.get("Yo"));
- try {
- Thread.sleep(101);
- } catch (final InterruptedException e) {
- }
+
+ time += 101; // simulate 101 ms
+
// second call
assertFalse(ims.isEmpty());
assertEquals(2, ims.size());
@@ -57,11 +59,9 @@
assertTrue("Correct key", ims.containsKey("Hello"));
assertNull("diff key", ims.get("Hi"));
assertEquals(Integer.valueOf(2), ims.get("Yo"));
- try {
- Thread.sleep(901);
- } catch (final InterruptedException e) {
- }
+ time += 901; // simulate 901 ms
+
// should be gone
assertTrue(ims.isEmpty());
assertEquals(0, ims.size());
@@ -79,6 +79,7 @@
builder.loadOnFirstAccess(true);
builder.reloadOnExpiry(false);
builder.reloadWhenExpired(true);
+ builder.timeProvider(this);
builder.id("Greetings");
final ReadOnlyExpiringMap<String, Integer> ims = new ReadOnlyExpiringHashMap<String, Integer>(builder);
@@ -92,11 +93,9 @@
assertTrue("Correct key", ims.containsKey("Hello"));
assertNull("diff key", ims.get("Hi"));
assertEquals(Integer.valueOf(2), ims.get("Yo"));
- try {
- Thread.sleep(101);
- } catch (final InterruptedException e) {
- }
+ time += 101; // simulate 101 ms
+
// second call
assertFalse(ims.isEmpty());
assertEquals(2, ims.size());
@@ -105,11 +104,9 @@
assertTrue("Correct key", ims.containsKey("Hello"));
assertNull("diff key", ims.get("Hi"));
assertEquals(Integer.valueOf(2), ims.get("Yo"));
- try {
- Thread.sleep(901);
- } catch (final InterruptedException e) {
- }
+ time += 901; // simulate 901 ms
+
assertEquals("2) Should not call load until called", 1, reloadCount);
// should be gone
@@ -129,6 +126,7 @@
builder.loadOnFirstAccess(false);
builder.reloadOnExpiry(false);
builder.reloadWhenExpired(true);
+ builder.timeProvider(this);
builder.id("Greetings");
final ReadOnlyExpiringMap<String, Integer> ims = new ReadOnlyExpiringHashMap<String, Integer>(builder);
@@ -142,11 +140,9 @@
assertTrue("Correct key", ims.containsKey("Hello"));
assertNull("diff key", ims.get("Hi"));
assertEquals(Integer.valueOf(2), ims.get("Yo"));
- try {
- Thread.sleep(101);
- } catch (final InterruptedException e) {
- }
+ time += 101; // simulate 101 ms
+
// second call
assertFalse(ims.isEmpty());
assertEquals(2, ims.size());
@@ -155,11 +151,9 @@
assertTrue("Correct key", ims.containsKey("Hello"));
assertNull("diff key", ims.get("Hi"));
assertEquals(Integer.valueOf(2), ims.get("Yo"));
- try {
- Thread.sleep(901);
- } catch (final InterruptedException e) {
- }
+ time += 901; // simulate 901 ms
+
assertEquals("2) Should not call load until called", 1, reloadCount);
// should be gone
@@ -179,6 +173,7 @@
builder.loadOnFirstAccess(false);
builder.reloadOnExpiry(true);
builder.reloadWhenExpired(false);
+ builder.timeProvider(this);
builder.id("Greetings");
final ReadOnlyExpiringMap<String, Integer> ims = new ReadOnlyExpiringHashMap<String, Integer>(builder);
@@ -193,6 +188,8 @@
assertNull("diff key", ims.get("Hi"));
assertEquals(Integer.valueOf(2), ims.get("Yo"));
+ time += 101; // simulate 101 ms
+
// second call
assertFalse(ims.isEmpty());
assertEquals(2, ims.size());
@@ -201,8 +198,11 @@
assertTrue("Correct key", ims.containsKey("Hello"));
assertNull("diff key", ims.get("Hi"));
assertEquals(Integer.valueOf(2), ims.get("Yo"));
+
+ time += 901; // simulate 901 ms
+
try {
- Thread.sleep(901);
+ Thread.sleep(1001);
} catch (final InterruptedException e) {
}
@@ -225,4 +225,8 @@
reloadCount++;
}
+ public long getCurrentTimeMillis() {
+ return time;
+ }
+
}
Modified: trunk/utils/src/test/java/net/objectlab/kit/collections/ReadOnlyExpiringHashSetTest.java
===================================================================
--- trunk/utils/src/test/java/net/objectlab/kit/collections/ReadOnlyExpiringHashSetTest.java 2010-11-21 15:45:38 UTC (rev 379)
+++ trunk/utils/src/test/java/net/objectlab/kit/collections/ReadOnlyExpiringHashSetTest.java 2010-11-21 16:06:31 UTC (rev 380)
@@ -14,13 +14,15 @@
* @author xhensevalb
*
*/
-public class ReadOnlyExpiringHashSetTest implements SetLoader<String> {
+public class ReadOnlyExpiringHashSetTest implements SetLoader<String>, TimeProvider {
private int reloadCount;
+ private long time;
@Before
public void reset() {
reloadCount = 0;
+ time = System.currentTimeMillis();
}
@Test
@@ -30,10 +32,10 @@
builder.loadOnFirstAccess(true);
builder.reloadOnExpiry(false);
builder.reloadWhenExpired(false);
+ builder.timeProvider(this);
builder.id("Greetings");
final ReadOnlyExpiringSet<String> ims = new ReadOnlyExpiringHashSet<String>(builder);
-
assertEquals("Should not call load until called", 0, reloadCount);
assertFalse(ims.isEmpty());
@@ -41,22 +43,18 @@
assertEquals(1, reloadCount);
assertFalse("diff key", ims.contains("Hi"));
assertTrue("Correct key", ims.contains("Hello"));
- try {
- Thread.sleep(101);
- } catch (final InterruptedException e) {
- }
+ time += 100; // simulate 100 ms
+
// second call
assertFalse(ims.isEmpty());
assertEquals(1, ims.size());
assertEquals(1, reloadCount);
assertFalse("diff key", ims.contains("Hi"));
assertTrue("Correct key", ims.contains("Hello"));
- try {
- Thread.sleep(901);
- } catch (final InterruptedException e) {
- }
+ time += 901;
+
// should be gone
assertTrue(ims.isEmpty());
assertEquals(0, ims.size());
@@ -72,6 +70,7 @@
builder.loadOnFirstAccess(true);
builder.reloadOnExpiry(false);
builder.reloadWhenExpired(true);
+ builder.timeProvider(this);
builder.id("Greetings");
final ReadOnlyExpiringSet<String> ims = new ReadOnlyExpiringHashSet<String>(builder);
@@ -83,10 +82,7 @@
assertEquals(1, reloadCount);
assertFalse("diff key", ims.contains("Hi"));
assertTrue("Correct key", ims.contains("Hello"));
- try {
- Thread.sleep(101);
- } catch (final InterruptedException e) {
- }
+ time += 100; // simulate 100 ms
// second call
assertFalse(ims.isEmpty());
@@ -94,10 +90,7 @@
assertEquals(1, reloadCount);
assertFalse("diff key", ims.contains("Hi"));
assertTrue("Correct key", ims.contains("Hello"));
- try {
- Thread.sleep(901);
- } catch (final InterruptedException e) {
- }
+ time += 901; // simulate 901 ms
assertEquals("Should NOT have reloaded until called!", 1, reloadCount);
@@ -116,6 +109,7 @@
builder.loadOnFirstAccess(false);
builder.reloadOnExpiry(false);
builder.reloadWhenExpired(true);
+ builder.timeProvider(this);
builder.id("Greetings");
final ReadOnlyExpiringSet<String> ims = new ReadOnlyExpiringHashSet<String>(builder);
@@ -123,14 +117,12 @@
assertEquals("Should call load immediately", 1, reloadCount);
assertFalse(ims.isEmpty());
+ assertEquals(1, reloadCount);
assertEquals(1, ims.size());
assertEquals(1, reloadCount);
assertFalse("diff key", ims.contains("Hi"));
assertTrue("Correct key", ims.contains("Hello"));
- try {
- Thread.sleep(101);
- } catch (final InterruptedException e) {
- }
+ time += 100; // simulate 100 ms
// second call
assertFalse(ims.isEmpty());
@@ -138,10 +130,7 @@
assertEquals(1, reloadCount);
assertFalse("diff key", ims.contains("Hi"));
assertTrue("Correct key", ims.contains("Hello"));
- try {
- Thread.sleep(901);
- } catch (final InterruptedException e) {
- }
+ time += 901; // simulate 901 ms
assertEquals("Should NOT have reloaded until called!", 1, reloadCount);
@@ -160,6 +149,7 @@
builder.loadOnFirstAccess(false);
builder.reloadOnExpiry(true);
builder.reloadWhenExpired(false); // but does not matter
+ builder.timeProvider(this);
builder.id("Greetings");
final ReadOnlyExpiringSet<String> ims = new ReadOnlyExpiringHashSet<String>(builder);
@@ -171,20 +161,20 @@
assertEquals(1, reloadCount);
assertFalse("diff key", ims.contains("Hi"));
assertTrue("Correct key", ims.contains("Hello"));
- // try {
- // Thread.sleep(101);
- // } catch (final InterruptedException e) {
- // }
+ time += 101;
+
// second call
assertFalse(ims.isEmpty());
assertEquals(1, ims.size());
assertEquals(1, reloadCount);
assertFalse("diff key", ims.contains("Hi"));
assertTrue("Correct key", ims.contains("Hello"));
+ time += 901; // simulate 901 ms
+
try {
- Thread.sleep(901);
- } catch (final InterruptedException e) {
+ Thread.sleep(1000); // ensure that the timer can catch up.
+ } catch (InterruptedException e) {
}
assertEquals("Should have reloaded until called!", 2, reloadCount);
@@ -202,4 +192,8 @@
builder.add("Hello");
reloadCount++;
}
+
+ public long getCurrentTimeMillis() {
+ return time;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|