You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ki...@apache.org on 2012/08/23 05:04:57 UTC

svn commit: r1376354 [2/2] - in /commons/proper/functor/branches/generators-FUNCTOR-14/src: main/java/org/apache/commons/functor/core/algorithm/ main/java/org/apache/commons/functor/generator/ main/java/org/apache/commons/functor/generator/loop/ main/j...

Added: commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestLoopGenerator.java
URL: http://svn.apache.org/viewvc/commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestLoopGenerator.java?rev=1376354&view=auto
==============================================================================
--- commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestLoopGenerator.java (added)
+++ commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestLoopGenerator.java Thu Aug 23 03:04:55 2012
@@ -0,0 +1,205 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.functor.generator.loop;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.commons.functor.UnaryProcedure;
+import org.apache.commons.functor.generator.util.CollectionTransformer;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the Loop Generator class.
+ */
+@SuppressWarnings("unchecked")
+public class TestLoopGenerator {
+
+    private LoopGenerator<Integer> simpleGenerator = null;
+
+    // Lifecycle
+    // ------------------------------------------------------------------------
+
+    @Before
+    public void setUp() throws Exception {
+        simpleGenerator = new LoopGenerator<Integer>() {
+            public void run(UnaryProcedure<? super Integer> proc) {
+                for (int i=0;i<5;i++) {
+                    proc.run(new Integer(i));
+                    if (isStopped()) {
+                        break;
+                    }
+                }
+            }
+        };
+
+        list = new ArrayList<Integer>();
+        evens = new ArrayList<Integer>();
+        doubled = new ArrayList<Integer>();
+        listWithDuplicates = new ArrayList<Integer>();
+        sum = 0;
+        for (int i=0;i<10;i++) {
+            list.add(new Integer(i));
+            doubled.add(new Integer(i*2));
+            listWithDuplicates.add(new Integer(i));
+            listWithDuplicates.add(new Integer(i));
+            sum += i;
+            if (i%2 == 0) {
+                evens.add(new Integer(i));
+            }
+        }
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        simpleGenerator = null;
+        list = null;
+        evens = null;
+        listWithDuplicates = null;
+        sum = 0;
+    }
+
+    // Tests
+    // ------------------------------------------------------------------------
+
+    @Test
+    public void testSimpleGenerator() {
+        final StringBuffer result = new StringBuffer();
+        simpleGenerator.run(new UnaryProcedure<Integer>() {
+            public void run(Integer obj) {
+                result.append(obj);
+            }
+        });
+
+        assertEquals("01234", result.toString());
+    }
+
+    @Test
+    public void testStop() {
+        final StringBuffer result = new StringBuffer();
+        simpleGenerator.run(new UnaryProcedure<Integer>() {
+            int i=0;
+            public void run(Integer obj) {
+                result.append(obj);
+                if (i++ > 1) {
+                    simpleGenerator.stop();
+                }
+            }
+        });
+
+        assertEquals("012", result.toString());
+    }
+
+    @Test
+    public void testWrappingGenerator() {
+        final StringBuffer result = new StringBuffer();
+        final LoopGenerator<Integer> gen = new LoopGenerator<Integer>(simpleGenerator) {
+            public void run(final UnaryProcedure<? super Integer> proc) {
+                LoopGenerator<Integer> wrapped = (LoopGenerator<Integer>)getWrappedGenerator();
+                assertSame(simpleGenerator, wrapped);
+                wrapped.run(new UnaryProcedure<Integer>() {
+                    public void run(Integer obj) {
+                        proc.run(new Integer(obj.intValue() + 1));
+                    }
+                });
+            }
+        };
+
+        gen.run(new UnaryProcedure<Integer>() {
+            public void run(Integer obj) {
+                result.append(obj);
+            }
+        });
+
+        assertEquals("12345", result.toString());
+
+        // try to stop the wrapped generator
+        final StringBuffer result2 = new StringBuffer();
+        gen.run(new UnaryProcedure<Integer>() {
+            int i=0;
+            public void run(Integer obj) {
+                result2.append(obj);
+                if (i++ > 1) {
+                    gen.stop();
+                }
+            }
+        });
+
+        assertEquals("123", result2.toString());
+    }
+
+    // Tests
+    // ------------------------------------------------------------------------
+
+    @Test
+    public void testTo() {
+        Collection<Integer> col = simpleGenerator.to(CollectionTransformer.<Integer> toCollection());
+        assertEquals("[0, 1, 2, 3, 4]", col.toString());
+
+        Collection<Integer> fillThis = new LinkedList<Integer>();
+        col = simpleGenerator.to(new CollectionTransformer<Integer, Collection<Integer>>(fillThis));
+        assertSame(fillThis, col);
+        assertEquals("[0, 1, 2, 3, 4]", col.toString());
+
+        col = (Collection<Integer>)simpleGenerator.toCollection();
+        assertEquals("[0, 1, 2, 3, 4]", col.toString());
+        assertEquals("[0, 1, 2, 3, 4]", col.toString());
+
+        fillThis = new LinkedList<Integer>();
+        col = (Collection<Integer>)simpleGenerator.to(fillThis);
+        assertSame(fillThis, col);
+        assertEquals("[0, 1, 2, 3, 4]", col.toString());
+    }
+
+    // Attributes
+    // ------------------------------------------------------------------------
+    private List<Integer> list = null;
+    private List<Integer> doubled = null;
+    private List<Integer> evens = null;
+    private List<Integer> listWithDuplicates = null;
+    @SuppressWarnings("unused")
+    private int sum = 0;
+//    private UnaryPredicate equalsThree = LeftBoundPredicate.bind(IsEqual.instance(),new Integer(3));
+//    private UnaryPredicate equalsTwentyThree = LeftBoundPredicate.bind(IsEqual.instance(),new Integer(23));
+//    private UnaryPredicate isEven = new UnaryPredicate() {
+//        public boolean test(Object obj) {
+//            return ((Number) obj).intValue() % 2 == 0;
+//        }
+//    };
+//    private UnaryPredicate isOdd = new UnaryPredicate() {
+//        public boolean test(Object obj) {
+//            return ((Number) obj).intValue() % 2 != 0;
+//        }
+//    };
+
+    // Classes
+    // ------------------------------------------------------------------------
+
+    static class Summer implements UnaryProcedure<Number> {
+        public void run(Number that) {
+            sum += (that).intValue();
+        }
+        public int sum = 0;
+    }
+}
\ No newline at end of file

Propchange: commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestLoopGenerator.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Copied: commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java (from r1375524, commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestTransformedGenerator.java)
URL: http://svn.apache.org/viewvc/commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java?p2=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java&p1=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestTransformedGenerator.java&r1=1375524&r2=1376354&rev=1376354&view=diff
==============================================================================
--- commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestTransformedGenerator.java (original)
+++ commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java Thu Aug 23 03:04:55 2012
@@ -11,7 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.functor.generator;
+package org.apache.commons.functor.generator.loop;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -22,7 +22,7 @@ import java.util.List;
 
 import org.apache.commons.functor.UnaryFunction;
 import org.apache.commons.functor.UnaryProcedure;
-import org.apache.commons.functor.generator.util.IntegerGenerator;
+import org.apache.commons.functor.generator.range.IntegerRange;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -36,7 +36,7 @@ public class TestTransformedGenerator
 
     @Before
     public void setUp() throws Exception {
-        wrappedGenerator = new IntegerGenerator(1, 10);
+        wrappedGenerator = new IntegerRange(1, 10);
         sumsTwoGenerator = new TransformedGenerator<Integer, Integer>(wrappedGenerator, sumsTwo);
     }
 
@@ -82,7 +82,7 @@ public class TestTransformedGenerator
         assertTrue( !sumsTwoGenerator.equals(aGenerateWithADifferentFunction));
 
         TransformedGenerator<Integer, Integer> aTransformedGeneratorWithADifferentWrapped =
-        		new TransformedGenerator<Integer, Integer>(new IntegerGenerator(1,2), sumsTwo);
+        		new TransformedGenerator<Integer, Integer>(new IntegerRange(1,2), sumsTwo);
         assertTrue(!sumsTwoGenerator.equals(aTransformedGeneratorWithADifferentWrapped));
     }
 
@@ -111,7 +111,7 @@ public class TestTransformedGenerator
     // ------------------------------------------------------------------------
     private static final Integer TWO = new Integer(2);
 
-    private Generator<Integer> wrappedGenerator = null;
+    private LoopGenerator<Integer> wrappedGenerator = null;
     private UnaryFunction<Integer, Integer> sumsTwo = new UnaryFunction<Integer, Integer>() {
         public Integer evaluate( Integer obj ) {
             return obj += TWO;

Copied: commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java (from r1375524, commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestUntilGenerate.java)
URL: http://svn.apache.org/viewvc/commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java?p2=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java&p1=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestUntilGenerate.java&r1=1375524&r2=1376354&rev=1376354&view=diff
==============================================================================
--- commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestUntilGenerate.java (original)
+++ commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java Thu Aug 23 03:04:55 2012
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.functor.generator;
+package org.apache.commons.functor.generator.loop;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -25,7 +25,8 @@ import java.util.List;
 
 import org.apache.commons.functor.UnaryPredicate;
 import org.apache.commons.functor.UnaryProcedure;
-import org.apache.commons.functor.generator.util.IntegerGenerator;
+import org.apache.commons.functor.generator.Generator;
+import org.apache.commons.functor.generator.range.IntegerRange;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -39,7 +40,7 @@ public class TestUntilGenerate
 
     @Before
     public void setUp() throws Exception {
-        wrappedGenerator = new IntegerGenerator(1, 10);
+        wrappedGenerator = new IntegerRange(1, 10);
         untilGenerate = new UntilGenerate<Integer>(isLessThanFive, wrappedGenerator);
     }
 
@@ -70,7 +71,7 @@ public class TestUntilGenerate
 
     @Test
     public void testEquals() {
-        Generator<Integer> anotherGenerate = new UntilGenerate<Integer>(isLessThanFive, new IntegerGenerator(1, 10));
+        Generator<Integer> anotherGenerate = new UntilGenerate<Integer>(isLessThanFive, new IntegerRange(1, 10));
         assertEquals(untilGenerate, untilGenerate);
         assertEquals(untilGenerate, anotherGenerate);
         assertTrue(!untilGenerate.equals((UntilGenerate<Integer>)null));
@@ -80,10 +81,10 @@ public class TestUntilGenerate
 				public boolean test(Integer obj) {
 					return obj < FIVE;
 				}
-			}, new IntegerGenerator(1, 10));
+			}, new IntegerRange(1, 10));
         assertTrue(!untilGenerate.equals(aGenerateWithADifferentPredicate));
 
-        Generator<Integer> aGenerateWithADifferentWrapped = new UntilGenerate<Integer>(isLessThanFive, new IntegerGenerator(1,2));
+        Generator<Integer> aGenerateWithADifferentWrapped = new UntilGenerate<Integer>(isLessThanFive, new IntegerRange(1,2));
         assertTrue(!untilGenerate.equals(aGenerateWithADifferentWrapped));
     }
 
@@ -111,11 +112,11 @@ public class TestUntilGenerate
     // ------------------------------------------------------------------------
     private static final Integer FIVE = new Integer(5);
 
-    private Generator<Integer> wrappedGenerator = null;
+    private LoopGenerator<Integer> wrappedGenerator = null;
     private UnaryPredicate<Integer> isLessThanFive = new UnaryPredicate<Integer>() {
         public boolean test( Integer obj ) {
             return obj < FIVE;
         }
     };
-    private Generator<Integer> untilGenerate = null;
+    private LoopGenerator<Integer> untilGenerate = null;
 }

Copied: commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java (from r1375524, commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestWhileGenerate.java)
URL: http://svn.apache.org/viewvc/commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java?p2=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java&p1=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestWhileGenerate.java&r1=1375524&r2=1376354&rev=1376354&view=diff
==============================================================================
--- commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/TestWhileGenerate.java (original)
+++ commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java Thu Aug 23 03:04:55 2012
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.functor.generator;
+package org.apache.commons.functor.generator.loop;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -25,7 +25,9 @@ import java.util.List;
 
 import org.apache.commons.functor.UnaryPredicate;
 import org.apache.commons.functor.UnaryProcedure;
-import org.apache.commons.functor.generator.util.IntegerGenerator;
+import org.apache.commons.functor.generator.Generator;
+import org.apache.commons.functor.generator.loop.WhileGenerate;
+import org.apache.commons.functor.generator.range.IntegerRange;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -38,7 +40,7 @@ public class TestWhileGenerate {
 
     @Before
     public void setUp() throws Exception {
-        wrappedGenerator = new IntegerGenerator(1, 10);
+        wrappedGenerator = new IntegerRange(1, 10);
         whileGenerate = new WhileGenerate<Integer>(isLessThanFive, wrappedGenerator);
     }
 
@@ -69,7 +71,7 @@ public class TestWhileGenerate {
 
     @Test
     public void testEquals() {
-        Generator<Integer> anotherGenerate = new WhileGenerate<Integer>(isLessThanFive, new IntegerGenerator(1, 10));
+        Generator<Integer> anotherGenerate = new WhileGenerate<Integer>(isLessThanFive, new IntegerRange(1, 10));
         assertEquals(whileGenerate, whileGenerate);
         assertEquals(whileGenerate, anotherGenerate);
         assertTrue(!whileGenerate.equals((WhileGenerate<Integer>)null));
@@ -79,10 +81,10 @@ public class TestWhileGenerate {
 				public boolean test(Integer obj) {
 					return obj < FIVE;
 				}
-			}, new IntegerGenerator(1, 10));
+			}, new IntegerRange(1, 10));
         assertTrue(!whileGenerate.equals(aGenerateWithADifferentPredicate));
 
-        Generator<Integer> aGenerateWithADifferentWrapped = new WhileGenerate<Integer>(isLessThanFive, new IntegerGenerator(1,11));
+        Generator<Integer> aGenerateWithADifferentWrapped = new WhileGenerate<Integer>(isLessThanFive, new IntegerRange(1,11));
         assertTrue(!whileGenerate.equals(aGenerateWithADifferentWrapped));
     }
 
@@ -110,11 +112,11 @@ public class TestWhileGenerate {
     // ------------------------------------------------------------------------
 	private static final Integer FIVE = new Integer(5);
 
-    private Generator<Integer> wrappedGenerator = null;
+    private LoopGenerator<Integer> wrappedGenerator = null;
     private UnaryPredicate<Integer> isLessThanFive = new UnaryPredicate<Integer>() {
         public boolean test( Integer obj ) {
             return obj < FIVE;
         }
     };
-    private Generator<Integer> whileGenerate = null;
+    private LoopGenerator<Integer> whileGenerate = null;
 }

Copied: commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/range/TestIntegerRange.java (from r1375524, commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestIntegerRange.java)
URL: http://svn.apache.org/viewvc/commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/range/TestIntegerRange.java?p2=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/range/TestIntegerRange.java&p1=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestIntegerRange.java&r1=1375524&r2=1376354&rev=1376354&view=diff
==============================================================================
--- commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestIntegerRange.java (original)
+++ commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/range/TestIntegerRange.java Thu Aug 23 03:04:55 2012
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.functor.generator.util;
+package org.apache.commons.functor.generator.range;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.functor.BaseFunctorTest;
+import org.apache.commons.functor.generator.range.IntegerRange;
 import org.junit.Test;
 
 /**
@@ -32,7 +33,7 @@ public class TestIntegerRange extends Ba
 
     @Override
     protected Object makeFunctor() throws Exception {
-        return new IntegerGenerator(10, 20);
+        return new IntegerRange(10, 20);
     }
 
     // Tests
@@ -42,7 +43,7 @@ public class TestIntegerRange extends Ba
     public void testGenerateListExample() {
         // generates a collection of Integers from 0 (inclusive) to 10 (exclusive)
         {
-            List<? super Integer> list = (List<? super Integer>)(new IntegerGenerator(0,10).to(new ArrayList<Integer>()));
+            List<? super Integer> list = (List<? super Integer>)(new IntegerRange(0,10).to(new ArrayList<Integer>()));
             for (int i=0;i<10;i++) {
                 assertEquals(new Integer(i),list.get(i));
             }
@@ -50,7 +51,7 @@ public class TestIntegerRange extends Ba
 
         // generates a collection of Integers from 10 (inclusive) to 0 (exclusive)
         {
-            List<? super Integer> list = (List<? super Integer>)(new IntegerGenerator(10,0).to(new ArrayList<Integer>()));
+            List<? super Integer> list = (List<? super Integer>)(new IntegerRange(10,0).to(new ArrayList<Integer>()));
             for (int i=10;i>0;i--) {
                 assertEquals(new Integer(i),list.get(10-i));
             }
@@ -60,34 +61,34 @@ public class TestIntegerRange extends Ba
     @Test
     public void testStepChecking() {
         {
-            new IntegerGenerator(2, 2, 0); // step of 0 is ok when range is empty
+            new IntegerRange(2, 2, 0); // step of 0 is ok when range is empty
         }
         {
-            new IntegerGenerator(2, 2, 1); // positive step is ok when range is empty
+            new IntegerRange(2, 2, 1); // positive step is ok when range is empty
         }
         {
-            new IntegerGenerator(2, 2, -1); // negative step is ok when range is empty
+            new IntegerRange(2, 2, -1); // negative step is ok when range is empty
         }
         {
-            new IntegerGenerator(0, 1, 10); // big steps are ok
+            new IntegerRange(0, 1, 10); // big steps are ok
         }
         {
-            new IntegerGenerator(1, 0, -10); // big steps are ok
+            new IntegerRange(1, 0, -10); // big steps are ok
         }
         try {
-            new IntegerGenerator(0, 1, 0);
+            new IntegerRange(0, 1, 0);
             fail("Expected IllegalArgumentException");
         } catch(IllegalArgumentException e) {
             // expected
         }
         try {
-            new IntegerGenerator(0, 1, -1);
+            new IntegerRange(0, 1, -1);
             fail("Expected IllegalArgumentException");
         } catch(IllegalArgumentException e) {
             // expected
         }
         try {
-            new IntegerGenerator(0, -1, 1);
+            new IntegerRange(0, -1, 1);
             fail("Expected IllegalArgumentException");
         } catch(IllegalArgumentException e) {
             // expected
@@ -96,59 +97,59 @@ public class TestIntegerRange extends Ba
 
     @Test
     public void testObjectConstructor() {
-        IntegerGenerator range = new IntegerGenerator(new Integer(0), new Integer(5));
+        IntegerRange range = new IntegerRange(new Integer(0), new Integer(5));
         assertEquals("[0, 1, 2, 3, 4]", range.toCollection().toString());
-        range = new IntegerGenerator(new Integer(0), new Integer(5), new Integer(1));
+        range = new IntegerRange(new Integer(0), new Integer(5), new Integer(1));
         assertEquals("[0, 1, 2, 3, 4]", range.toCollection().toString());
     }
 
 
     @Test
     public void testReverseStep() {
-        IntegerGenerator range = new IntegerGenerator(10, 0, -2);
+        IntegerRange range = new IntegerRange(10, 0, -2);
         assertEquals("[10, 8, 6, 4, 2]", range.toCollection().toString());
         assertEquals("[10, 8, 6, 4, 2]", range.toCollection().toString());
     }
 
     @Test
     public void testStep() {
-        IntegerGenerator range = new IntegerGenerator(0, 10, 2);
+        IntegerRange range = new IntegerRange(0, 10, 2);
         assertEquals("[0, 2, 4, 6, 8]", range.toCollection().toString());
         assertEquals("[0, 2, 4, 6, 8]", range.toCollection().toString());
     }
 
     @Test
     public void testForwardRange() {
-        IntegerGenerator range = new IntegerGenerator(0, 5);
+        IntegerRange range = new IntegerRange(0, 5);
         assertEquals("[0, 1, 2, 3, 4]", range.toCollection().toString());
         assertEquals("[0, 1, 2, 3, 4]", range.toCollection().toString());
     }
 
     @Test
     public void testReverseRange() {
-        IntegerGenerator range = new IntegerGenerator(5, 0);
+        IntegerRange range = new IntegerRange(5, 0);
         assertEquals("[5, 4, 3, 2, 1]", range.toCollection().toString());
         assertEquals("[5, 4, 3, 2, 1]", range.toCollection().toString());
     }
 
     @Test
     public void testEdgeCase() {
-        IntegerGenerator range = new IntegerGenerator(Integer.MAX_VALUE - 3, Integer.MAX_VALUE);
+        IntegerRange range = new IntegerRange(Integer.MAX_VALUE - 3, Integer.MAX_VALUE);
         assertEquals("[2147483644, 2147483645, 2147483646]", range.toCollection().toString());
         assertEquals("[2147483644, 2147483645, 2147483646]", range.toCollection().toString());
     }
 
     @Test
     public void testEquals() {
-        IntegerGenerator range = new IntegerGenerator(1, 5);
+        IntegerRange range = new IntegerRange(1, 5);
         assertObjectsAreEqual(range, range);
-        assertObjectsAreEqual(range, new IntegerGenerator(1, 5));
-        assertObjectsAreEqual(range, new IntegerGenerator(1, 5, 1));
-        assertObjectsAreEqual(range, new IntegerGenerator(new Long(1), new Long(5)));
-        assertObjectsAreEqual(range, new IntegerGenerator(new Long(1), new Long(5), new Long(1)));
-        assertObjectsAreNotEqual(range, new IntegerGenerator(2, 5));
-        assertObjectsAreNotEqual(range, new IntegerGenerator(1, 6));
-        assertObjectsAreNotEqual(range, new IntegerGenerator(1, 5, 2));
+        assertObjectsAreEqual(range, new IntegerRange(1, 5));
+        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

Copied: commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/range/TestLongRange.java (from r1375524, commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestLongRange.java)
URL: http://svn.apache.org/viewvc/commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/range/TestLongRange.java?p2=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/range/TestLongRange.java&p1=commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestLongRange.java&r1=1375524&r2=1376354&rev=1376354&view=diff
==============================================================================
--- commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestLongRange.java (original)
+++ commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/range/TestLongRange.java Thu Aug 23 03:04:55 2012
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.functor.generator.util;
+package org.apache.commons.functor.generator.range;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.functor.BaseFunctorTest;
+import org.apache.commons.functor.generator.range.LongRange;
 import org.junit.Test;
 
 /**
@@ -32,7 +33,7 @@ public class TestLongRange extends BaseF
 
     @Override
     protected Object makeFunctor() throws Exception {
-        return new LongGenerator(10, 20);
+        return new LongRange(10, 20);
     }
 
     // Tests
@@ -42,7 +43,7 @@ public class TestLongRange extends BaseF
     public void testGenerateListExample() {
         // generates a collection of Integers from 0 (inclusive) to 10 (exclusive)
         {
-            List<? super Long> list = (List<? super Long>)(new LongGenerator(0,10).to(new ArrayList<Long>()));
+            List<? super Long> list = (List<? super Long>)(new LongRange(0,10).to(new ArrayList<Long>()));
             for (int i=0;i<10;i++) {
                 assertEquals(new Long(i),list.get(i));
             }
@@ -50,7 +51,7 @@ public class TestLongRange extends BaseF
 
         // generates a collection of Integers from 10 (inclusive) to 0 (exclusive)
         {
-            List<? super Long> list = (List<? super Long>)(new LongGenerator(10,0).to(new ArrayList<Long>()));
+            List<? super Long> list = (List<? super Long>)(new LongRange(10,0).to(new ArrayList<Long>()));
             for (int i=10;i>0;i--) {
                 assertEquals(new Long(i),list.get(10-i));
             }
@@ -60,34 +61,34 @@ public class TestLongRange extends BaseF
     @Test
     public void testStepChecking() {
         {
-            new LongGenerator(2, 2, 0); // step of 0 is ok when range is empty
+            new LongRange(2, 2, 0); // step of 0 is ok when range is empty
         }
         {
-            new LongGenerator(2, 2, 1); // positive step is ok when range is empty
+            new LongRange(2, 2, 1); // positive step is ok when range is empty
         }
         {
-            new LongGenerator(2, 2, -1); // negative step is ok when range is empty
+            new LongRange(2, 2, -1); // negative step is ok when range is empty
         }
         {
-            new LongGenerator(0, 1, 10); // big steps are ok
+            new LongRange(0, 1, 10); // big steps are ok
         }
         {
-            new LongGenerator(1, 0, -10); // big steps are ok
+            new LongRange(1, 0, -10); // big steps are ok
         }
         try {
-            new LongGenerator(0, 1, 0);
+            new LongRange(0, 1, 0);
             fail("Expected IllegalArgumentException");
         } catch(IllegalArgumentException e) {
             // expected
         }
         try {
-            new LongGenerator(0, 1, -1);
+            new LongRange(0, 1, -1);
             fail("Expected IllegalArgumentException");
         } catch(IllegalArgumentException e) {
             // expected
         }
         try {
-            new LongGenerator(0, -1, 1);
+            new LongRange(0, -1, 1);
             fail("Expected IllegalArgumentException");
         } catch(IllegalArgumentException e) {
             // expected
@@ -96,59 +97,59 @@ public class TestLongRange extends BaseF
 
     @Test
     public void testObjectConstructor() {
-        LongGenerator range = new LongGenerator(new Long(0), new Long(5));
+        LongRange range = new LongRange(new Long(0), new Long(5));
         assertEquals("[0, 1, 2, 3, 4]", range.toCollection().toString());
-        range = new LongGenerator(new Integer(0), new Long(5), new Long(1));
+        range = new LongRange(new Integer(0), new Long(5), new Long(1));
         assertEquals("[0, 1, 2, 3, 4]", range.toCollection().toString());
     }
 
 
     @Test
     public void testReverseStep() {
-        LongGenerator range = new LongGenerator(10, 0, -2);
+        LongRange range = new LongRange(10, 0, -2);
         assertEquals("[10, 8, 6, 4, 2]", range.toCollection().toString());
         assertEquals("[10, 8, 6, 4, 2]", range.toCollection().toString());
     }
 
     @Test
     public void testStep() {
-        LongGenerator range = new LongGenerator(0, 10, 2);
+        LongRange range = new LongRange(0, 10, 2);
         assertEquals("[0, 2, 4, 6, 8]", range.toCollection().toString());
         assertEquals("[0, 2, 4, 6, 8]", range.toCollection().toString());
     }
 
     @Test
     public void testForwardRange() {
-        LongGenerator range = new LongGenerator(0, 5);
+        LongRange range = new LongRange(0, 5);
         assertEquals("[0, 1, 2, 3, 4]", range.toCollection().toString());
         assertEquals("[0, 1, 2, 3, 4]", range.toCollection().toString());
     }
 
     @Test
     public void testReverseRange() {
-        LongGenerator range = new LongGenerator(5, 0);
+        LongRange range = new LongRange(5, 0);
         assertEquals("[5, 4, 3, 2, 1]", range.toCollection().toString());
         assertEquals("[5, 4, 3, 2, 1]", range.toCollection().toString());
     }
 
     @Test
     public void testEdgeCase() {
-        LongGenerator range = new LongGenerator(Long.MAX_VALUE - 3L, Long.MAX_VALUE);
+        LongRange range = new LongRange(Long.MAX_VALUE - 3L, Long.MAX_VALUE);
         assertEquals("[9223372036854775804, 9223372036854775805, 9223372036854775806]", range.toCollection().toString());
         assertEquals("[9223372036854775804, 9223372036854775805, 9223372036854775806]", range.toCollection().toString());
     }
 
     @Test
     public void testEquals() {
-        LongGenerator range = new LongGenerator(1, 5);
+        LongRange range = new LongRange(1, 5);
         assertObjectsAreEqual(range, range);
-        assertObjectsAreEqual(range, new LongGenerator(1, 5));
-        assertObjectsAreEqual(range, new LongGenerator(1, 5, 1));
-        assertObjectsAreEqual(range, new LongGenerator(new Integer(1), new Long(5)));
-        assertObjectsAreEqual(range, new LongGenerator(new Long(1), new Short((short)5), new Long(1)));
-        assertObjectsAreNotEqual(range, new LongGenerator(2, 5));
-        assertObjectsAreNotEqual(range, new LongGenerator(1, 6));
-        assertObjectsAreNotEqual(range, new LongGenerator(1, 5, 2));
+        assertObjectsAreEqual(range, new LongRange(1, 5));
+        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

Modified: commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestEachElement.java
URL: http://svn.apache.org/viewvc/commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestEachElement.java?rev=1376354&r1=1376353&r2=1376354&view=diff
==============================================================================
--- commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestEachElement.java (original)
+++ commons/proper/functor/branches/generators-FUNCTOR-14/src/test/java/org/apache/commons/functor/generator/util/TestEachElement.java Thu Aug 23 03:04:55 2012
@@ -30,10 +30,10 @@ import java.util.Map;
 import org.apache.commons.functor.BaseFunctorTest;
 import org.apache.commons.functor.core.Limit;
 import org.apache.commons.functor.core.Offset;
-import org.apache.commons.functor.generator.GenerateUntil;
-import org.apache.commons.functor.generator.GenerateWhile;
-import org.apache.commons.functor.generator.UntilGenerate;
-import org.apache.commons.functor.generator.WhileGenerate;
+import org.apache.commons.functor.generator.loop.GenerateUntil;
+import org.apache.commons.functor.generator.loop.GenerateWhile;
+import org.apache.commons.functor.generator.loop.UntilGenerate;
+import org.apache.commons.functor.generator.loop.WhileGenerate;
 import org.junit.Before;
 import org.junit.Test;