[FUNCTOR-12] Added more tests for the generator classes (and util classes). Also removed unreachable code, as it could not be tested and was immutable and created/validated during construction. Tests that were using a try/catch + fail() approach were updated to use @Test(expected=SomeClass.class). Test classes missing $revision and $data svn tags were updated too.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/functor/trunk@1365330 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/commons/functor/generator/FilteredGenerator.java b/src/main/java/org/apache/commons/functor/generator/FilteredGenerator.java
index 4203c5e..244bba8 100644
--- a/src/main/java/org/apache/commons/functor/generator/FilteredGenerator.java
+++ b/src/main/java/org/apache/commons/functor/generator/FilteredGenerator.java
@@ -84,9 +84,9 @@
         int result = "FilteredGenerator".hashCode();
         result <<= 2;
         Generator<?> gen = getWrappedGenerator();
-        result ^= gen == null ? 0 : gen.hashCode();
+        result ^= gen.hashCode();
         result <<= 2;
-        result ^= pred == null ? 0 : pred.hashCode();
+        result ^= pred.hashCode();
         return result;
     }
 }
diff --git a/src/main/java/org/apache/commons/functor/generator/GenerateUntil.java b/src/main/java/org/apache/commons/functor/generator/GenerateUntil.java
index d031821..eefccf4 100644
--- a/src/main/java/org/apache/commons/functor/generator/GenerateUntil.java
+++ b/src/main/java/org/apache/commons/functor/generator/GenerateUntil.java
@@ -90,9 +90,9 @@
         int result = "GenerateUntil".hashCode();
         result <<= 2;
         Generator<?> gen = getWrappedGenerator();
-        result ^= gen == null ? 0 : gen.hashCode();
+        result ^= gen.hashCode();
         result <<= 2;
-        result ^= test == null ? 0 : test.hashCode();
+        result ^= test.hashCode();
         return result;
     }
 }
diff --git a/src/main/java/org/apache/commons/functor/generator/GenerateWhile.java b/src/main/java/org/apache/commons/functor/generator/GenerateWhile.java
index 6c0a84d..44a3ed4 100644
--- a/src/main/java/org/apache/commons/functor/generator/GenerateWhile.java
+++ b/src/main/java/org/apache/commons/functor/generator/GenerateWhile.java
@@ -90,9 +90,9 @@
         int result = "GenerateWhile".hashCode();
         result <<= 2;
         Generator<?> gen = getWrappedGenerator();
-        result ^= gen == null ? 0 : gen.hashCode();
+        result ^= gen.hashCode();
         result <<= 2;
-        result ^= test == null ? 0 : test.hashCode();
+        result ^= test.hashCode();
         return result;
     }
 }
diff --git a/src/main/java/org/apache/commons/functor/generator/TransformedGenerator.java b/src/main/java/org/apache/commons/functor/generator/TransformedGenerator.java
index 8c8e362..c47b747 100644
--- a/src/main/java/org/apache/commons/functor/generator/TransformedGenerator.java
+++ b/src/main/java/org/apache/commons/functor/generator/TransformedGenerator.java
@@ -87,7 +87,7 @@
         int result = "TransformedGenerator".hashCode();
         result <<= 2;
         Generator<?> gen = getWrappedGenerator();
-        result ^= gen == null ? 0 : gen.hashCode();
+        result ^= gen.hashCode();
         result <<= 2;
         result ^= func.hashCode();
         return result;
diff --git a/src/main/java/org/apache/commons/functor/generator/UntilGenerate.java b/src/main/java/org/apache/commons/functor/generator/UntilGenerate.java
index 6c2fdc8..38c837c 100644
--- a/src/main/java/org/apache/commons/functor/generator/UntilGenerate.java
+++ b/src/main/java/org/apache/commons/functor/generator/UntilGenerate.java
@@ -91,9 +91,9 @@
         int result = "UntilGenerate".hashCode();
         result <<= 2;
         Generator<?> gen = getWrappedGenerator();
-        result ^= gen == null ? 0 : gen.hashCode();
+        result ^= gen.hashCode();
         result <<= 2;
-        result ^= test == null ? 0 : test.hashCode();
+        result ^= test.hashCode();
         return result;
     }
 }
diff --git a/src/main/java/org/apache/commons/functor/generator/WhileGenerate.java b/src/main/java/org/apache/commons/functor/generator/WhileGenerate.java
index 69d023e..09d014f 100644
--- a/src/main/java/org/apache/commons/functor/generator/WhileGenerate.java
+++ b/src/main/java/org/apache/commons/functor/generator/WhileGenerate.java
@@ -91,9 +91,9 @@
         int result = "WhileGenerate".hashCode();
         result <<= 2;
         Generator<?> gen = getWrappedGenerator();
-        result ^= gen == null ? 0 : gen.hashCode();
+        result ^= gen.hashCode();
         result <<= 2;
-        result ^= test == null ? 0 : test.hashCode();
+        result ^= test.hashCode();
         return result;
     }
 }
diff --git a/src/test/java/org/apache/commons/functor/generator/TestFilteredGenerator.java b/src/test/java/org/apache/commons/functor/generator/TestFilteredGenerator.java
index 44446d0..a049e01 100644
--- a/src/test/java/org/apache/commons/functor/generator/TestFilteredGenerator.java
+++ b/src/test/java/org/apache/commons/functor/generator/TestFilteredGenerator.java
@@ -17,9 +17,7 @@
 package org.apache.commons.functor.generator;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -34,6 +32,7 @@
 
 /**
  * Tests the Filtered Generator class.
+ * @version $Revision$ $Date$
  */
 public class TestFilteredGenerator
 {
@@ -54,26 +53,19 @@
     // Tests
     // ------------------------------------------------------------------------
 
-    @Test
-    public void testConstructorProhibitsNull() {
-        try {
-            new FilteredGenerator<Integer>(filteredGenerator, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new FilteredGenerator<Integer>(null, isEven);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new FilteredGenerator<Integer>(null, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryPredicate() {
+        new FilteredGenerator<Integer>(filteredGenerator, null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullWrappedGenerator() {
+        new FilteredGenerator<Integer>(null, isEven);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryPredicateOrNullWrappedGenerator() {
+        new FilteredGenerator<Integer>(null, null);
     }
 
     @Test
@@ -100,12 +92,6 @@
     public void testHashcode() {
         assertEquals(filteredGenerator.hashCode(), filteredGenerator.hashCode());
         assertEquals(filteredGenerator.hashCode(), new FilteredGenerator<Integer>(wrappedGenerator, isEven).hashCode());
-        assertFalse(filteredGenerator.hashCode() == new FilteredGenerator<Integer>(wrappedGenerator, isEven) {
-            @Override
-            protected Generator<? extends Integer> getWrappedGenerator() {
-                return null;
-            }
-        }.hashCode());
     }
 
     @Test
diff --git a/src/test/java/org/apache/commons/functor/generator/TestGenerateUntil.java b/src/test/java/org/apache/commons/functor/generator/TestGenerateUntil.java
index 24780c2..ce6141c 100644
--- a/src/test/java/org/apache/commons/functor/generator/TestGenerateUntil.java
+++ b/src/test/java/org/apache/commons/functor/generator/TestGenerateUntil.java
@@ -17,9 +17,7 @@
 package org.apache.commons.functor.generator;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import org.apache.commons.functor.UnaryPredicate;
 import org.apache.commons.functor.generator.util.IntegerRange;
@@ -29,6 +27,7 @@
 
 /**
  * Tests the Generate Until class.
+ * @version $Revision$ $Date$
  */
 public class TestGenerateUntil
 {
@@ -49,26 +48,19 @@
     // Tests
     // ------------------------------------------------------------------------
 
-    @Test
-    public void testConstructorProhibitsNull() {
-        try {
-            new GenerateUntil<Integer>(generateUntil, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new GenerateUntil<Integer>(null, isMoreThanFive);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new GenerateUntil<Integer>(null, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullWrappedPredicate() {
+        new GenerateUntil<Integer>(generateUntil, null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullGenerator() {
+        new GenerateUntil<Integer>(null, isMoreThanFive);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullGeneratorOrNullWrappedPredicate() {
+        new GenerateUntil<Integer>(null, null);
     }
 
     @Test
@@ -95,13 +87,6 @@
     public void testHashcode() {
         assertEquals(generateUntil.hashCode(), generateUntil.hashCode());
         assertEquals(generateUntil.hashCode(), new GenerateUntil<Integer>(wrappedGenerator, isMoreThanFive).hashCode());
-        assertFalse(generateUntil.hashCode() == new GenerateUntil<Integer>(wrappedGenerator, isMoreThanFive) {
-            @Override
-            protected Generator<? extends Integer> getWrappedGenerator()
-            {
-                return null;
-            }
-        }.hashCode());
     }
 
     // Attributes
diff --git a/src/test/java/org/apache/commons/functor/generator/TestGenerateWhile.java b/src/test/java/org/apache/commons/functor/generator/TestGenerateWhile.java
index 08c93cd..14c3651 100644
--- a/src/test/java/org/apache/commons/functor/generator/TestGenerateWhile.java
+++ b/src/test/java/org/apache/commons/functor/generator/TestGenerateWhile.java
@@ -17,9 +17,7 @@
 package org.apache.commons.functor.generator;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import org.apache.commons.functor.UnaryPredicate;
 import org.apache.commons.functor.generator.util.IntegerRange;
@@ -29,6 +27,7 @@
 
 /**
  * Tests the Generate While class.
+ * @version $Revision$ $Date$
  */
 public class TestGenerateWhile
 {
@@ -49,26 +48,19 @@
     // Tests
     // ------------------------------------------------------------------------
 
-    @Test
-    public void testConstructorProhibitsNull() {
-        try {
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryPredicate() {
             new GenerateWhile<Integer>(generateWhile, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullWrappedGenerator() {
             new GenerateWhile<Integer>(null, isLessThanFive);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryPredicateOrNullWrappedGenerator() {
             new GenerateWhile<Integer>(null, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
     }
 
     @Test
@@ -95,12 +87,6 @@
     public void testHashcode() {
         assertEquals(generateWhile.hashCode(), generateWhile.hashCode());
         assertEquals(generateWhile.hashCode(), new GenerateWhile<Integer>(wrappedGenerator, isLessThanFive).hashCode());
-        assertFalse(generateWhile.hashCode() == new GenerateWhile<Integer>(wrappedGenerator, isLessThanFive) {
-            @Override
-            protected Generator<? extends Integer> getWrappedGenerator() {
-                return null;
-            }
-        }.hashCode());
     }
 
     // Attributes
diff --git a/src/test/java/org/apache/commons/functor/generator/TestTransformedGenerator.java b/src/test/java/org/apache/commons/functor/generator/TestTransformedGenerator.java
index 5a13b66..9ff36f6 100644
--- a/src/test/java/org/apache/commons/functor/generator/TestTransformedGenerator.java
+++ b/src/test/java/org/apache/commons/functor/generator/TestTransformedGenerator.java
@@ -14,9 +14,7 @@
 package org.apache.commons.functor.generator;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -31,6 +29,7 @@
 
 /**
  * Tests the Transformed Generator class.
+ * @version $Revision$ $Date$
  */
 public class TestTransformedGenerator
 {
@@ -51,26 +50,19 @@
     // Tests
     // ------------------------------------------------------------------------
 
-    @Test
-    public void testConstructorProhibitsNull() {
-        try {
-            new TransformedGenerator<Integer, Integer>(null, sumsTwo);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new TransformedGenerator<Integer, Integer>(wrappedGenerator, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new TransformedGenerator<Integer, Integer>(null, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullWrappedGenerator() {
+        new TransformedGenerator<Integer, Integer>(null, sumsTwo);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryFunction() {
+        new TransformedGenerator<Integer, Integer>(wrappedGenerator, null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullWrappedGeneratorOrNullUnaryFunction() {
+        new TransformedGenerator<Integer, Integer>(null, null);
     }
 
     @Test
@@ -98,12 +90,6 @@
     public void testHashcode() {
         assertEquals(sumsTwoGenerator.hashCode(), sumsTwoGenerator.hashCode());
         assertEquals(sumsTwoGenerator.hashCode(), new TransformedGenerator<Integer, Integer>(wrappedGenerator, sumsTwo).hashCode());
-        assertFalse(sumsTwoGenerator.hashCode() == new TransformedGenerator<Integer, Integer>(wrappedGenerator, sumsTwo) {
-            @Override
-            protected Generator<? extends Integer> getWrappedGenerator() {
-                return null;
-            }
-        }.hashCode());
     }
 
     @Test
diff --git a/src/test/java/org/apache/commons/functor/generator/TestUntilGenerate.java b/src/test/java/org/apache/commons/functor/generator/TestUntilGenerate.java
index e4b2c85..fca00de 100644
--- a/src/test/java/org/apache/commons/functor/generator/TestUntilGenerate.java
+++ b/src/test/java/org/apache/commons/functor/generator/TestUntilGenerate.java
@@ -17,9 +17,7 @@
 package org.apache.commons.functor.generator;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -34,6 +32,7 @@
 
 /**
  * Tests the Until Generate class.
+ * @version $Revision$ $Date$
  */
 public class TestUntilGenerate
 {
@@ -54,26 +53,19 @@
     // Tests
     // ------------------------------------------------------------------------
 
-    @Test
-    public void testConstructorProhibitsNull() {
-        try {
-            new UntilGenerate<Integer>(null, untilGenerate);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new UntilGenerate<Integer>(isLessThanFive, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new UntilGenerate<Integer>(null, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryPredicate() {
+        new UntilGenerate<Integer>(null, untilGenerate);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullWrappedGenerator() {
+        new UntilGenerate<Integer>(isLessThanFive, null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryPredicateOrNullWrappedGenerator() {
+        new UntilGenerate<Integer>(null, null);
     }
 
     @Test
@@ -99,13 +91,6 @@
     public void testHashcode() {
         assertEquals(untilGenerate.hashCode(), untilGenerate.hashCode());
         assertEquals(untilGenerate.hashCode(), new UntilGenerate<Integer>(isLessThanFive, wrappedGenerator).hashCode());
-        assertFalse(untilGenerate.hashCode() == new UntilGenerate<Integer>(isLessThanFive, wrappedGenerator) {
-            @Override
-            protected Generator<? extends Integer> getWrappedGenerator()
-            {
-                return null;
-            }
-        }.hashCode());
     }
 
     @Test
diff --git a/src/test/java/org/apache/commons/functor/generator/TestWhileGenerate.java b/src/test/java/org/apache/commons/functor/generator/TestWhileGenerate.java
index 7a4a464..5db5884 100644
--- a/src/test/java/org/apache/commons/functor/generator/TestWhileGenerate.java
+++ b/src/test/java/org/apache/commons/functor/generator/TestWhileGenerate.java
@@ -17,9 +17,7 @@
 package org.apache.commons.functor.generator;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -34,6 +32,7 @@
 
 /**
  * Tests the While Generate class.
+ * @version $Revision$ $Date$
  */
 public class TestWhileGenerate {
 
@@ -53,26 +52,19 @@
     // Tests
     // ------------------------------------------------------------------------
 
-    @Test
-    public void testConstructorProhibitsNull() {
-        try {
-            new WhileGenerate<Integer>(null, whileGenerate);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new WhileGenerate<Integer>(isLessThanFive, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
-        try {
-            new WhileGenerate<Integer>(null, null);
-            fail("ExpectedNullPointerException");
-        } catch(NullPointerException e) {
-            // expected
-        }
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryPredicate() {
+        new WhileGenerate<Integer>(null, whileGenerate);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullWrappedGenerator() {
+        new WhileGenerate<Integer>(isLessThanFive, null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testConstructorProhibitsNullUnaryPredicateOrNullWrappedGenerator() {
+        new WhileGenerate<Integer>(null, null);
     }
 
     @Test
@@ -98,12 +90,6 @@
     public void testHashcode() {
         assertEquals(whileGenerate.hashCode(), whileGenerate.hashCode());
         assertEquals(whileGenerate.hashCode(), new WhileGenerate<Integer>(isLessThanFive, wrappedGenerator).hashCode());
-        assertFalse(whileGenerate.hashCode() == new WhileGenerate<Integer>(isLessThanFive, wrappedGenerator) {
-            @Override
-            protected Generator<? extends Integer> getWrappedGenerator() {
-                return null;
-            }
-        }.hashCode());
     }
 
     @Test
diff --git a/src/test/java/org/apache/commons/functor/generator/util/TestEachElement.java b/src/test/java/org/apache/commons/functor/generator/util/TestEachElement.java
index 0dadcc6..28e47cc 100644
--- a/src/test/java/org/apache/commons/functor/generator/util/TestEachElement.java
+++ b/src/test/java/org/apache/commons/functor/generator/util/TestEachElement.java
@@ -17,6 +17,7 @@
 package org.apache.commons.functor.generator.util;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 import java.util.ArrayList;
@@ -80,6 +81,11 @@
     // ------------------------------------------------------------------------
 
     @Test
+    public void testJavabeanConstructor() {
+        assertNotNull(new EachElement()); // Public constructor for JavaBean
+    }
+
+    @Test
     public void testFromNull() {
         assertNull(EachElement.from((Collection<?>) null));
         assertNull(EachElement.from((Map<?, ?>) null));
diff --git a/src/test/java/org/apache/commons/functor/generator/util/TestIntegerRange.java b/src/test/java/org/apache/commons/functor/generator/util/TestIntegerRange.java
index aae0845..d080daa 100644
--- a/src/test/java/org/apache/commons/functor/generator/util/TestIntegerRange.java
+++ b/src/test/java/org/apache/commons/functor/generator/util/TestIntegerRange.java
@@ -146,6 +146,9 @@
         assertObjectsAreEqual(range, new IntegerRange(1, 5, 1));
         assertObjectsAreEqual(range, new IntegerRange(new Long(1), new Long(5)));
         assertObjectsAreEqual(range, new IntegerRange(new Long(1), new Long(5), new Long(1)));
+        assertObjectsAreNotEqual(range, new IntegerRange(2, 5));
+        assertObjectsAreNotEqual(range, new IntegerRange(1, 6));
+        assertObjectsAreNotEqual(range, new IntegerRange(1, 5, 2));
     }
 
 }
\ No newline at end of file
diff --git a/src/test/java/org/apache/commons/functor/generator/util/TestLongRange.java b/src/test/java/org/apache/commons/functor/generator/util/TestLongRange.java
index 9f133c7..1adc750 100644
--- a/src/test/java/org/apache/commons/functor/generator/util/TestLongRange.java
+++ b/src/test/java/org/apache/commons/functor/generator/util/TestLongRange.java
@@ -146,6 +146,9 @@
         assertObjectsAreEqual(range, new LongRange(1, 5, 1));
         assertObjectsAreEqual(range, new LongRange(new Integer(1), new Long(5)));
         assertObjectsAreEqual(range, new LongRange(new Long(1), new Short((short)5), new Long(1)));
+        assertObjectsAreNotEqual(range, new LongRange(2, 5));
+        assertObjectsAreNotEqual(range, new LongRange(1, 6));
+        assertObjectsAreNotEqual(range, new LongRange(1, 5, 2));
     }
 
 }
\ No newline at end of file