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;