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/07/23 20:20:48 UTC
svn commit: r1364742 - in
/commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection:
TestFilteredIterable.java TestFilteredIterator.java
TestTransformedIterator.java
Author: kinow
Date: Mon Jul 23 18:20:48 2012
New Revision: 1364742
URL: http://svn.apache.org/viewvc?rev=1364742&view=rev
Log:
[FUNCTOR-12] Tests for functor core collections.
Modified:
commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterable.java
commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterator.java
commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestTransformedIterator.java
Modified: commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterable.java
URL: http://svn.apache.org/viewvc/commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterable.java?rev=1364742&r1=1364741&r2=1364742&view=diff
==============================================================================
--- commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterable.java (original)
+++ commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterable.java Mon Jul 23 18:20:48 2012
@@ -20,7 +20,6 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.math.BigInteger;
import java.util.ArrayList;
@@ -90,11 +89,14 @@ public class TestFilteredIterable extend
public void testSomePass() {
Iterator<Integer> expected = evens.iterator();
- for (Integer i : FilteredIterable.of(list).retain(isEven)) {
+ FilteredIterable<Integer> filter = FilteredIterable.of(list);
+
+ for (Integer i : filter.retain(isEven)) {
assertTrue(expected.hasNext());
assertEquals(expected.next(), i);
}
assertFalse(expected.hasNext());
+ assertEquals(filter,filter.retain(isEven));
}
@Test
@@ -120,7 +122,11 @@ public class TestFilteredIterable extend
@Test
public void testEmptyFilteredIterable() {
- assertFalse(FilteredIterable.empty().iterator().hasNext());
+ FilteredIterable<Integer> emptyFilter = FilteredIterable.empty();
+ assertFalse(emptyFilter.iterator().hasNext());
+ assertEquals(emptyFilter,emptyFilter.retain(isEven));
+ assertEquals(emptyFilter,emptyFilter.retain(Integer.class));
+ assertEquals(emptyFilter,emptyFilter.retain(Integer.class,Number.class));
}
@Test
@@ -143,53 +149,33 @@ public class TestFilteredIterable extend
assertFalse(testing.hasNext());
}
- @Test
+ @Test(expected=NoSuchElementException.class)
public void testNextAfterEndOfList() {
Iterator<Integer> testing = FilteredIterable.of(list).retain(isEven).iterator();
Iterator<Integer> expected = evens.iterator();
while (expected.hasNext()) {
assertEquals(expected.next(), testing.next());
}
- try {
- testing.next();
- fail("Expected NoSuchElementException");
- } catch (NoSuchElementException e) {
- // expected
- }
+ testing.next();
}
- @Test
+ @Test(expected=NoSuchElementException.class)
public void testNextOnEmptyList() {
- try {
- FilteredIterable.empty().iterator().next();
- fail("Expected NoSuchElementException");
- } catch (NoSuchElementException e) {
- // expected
- }
+ FilteredIterable.empty().iterator().next();
}
- @Test
+ @Test(expected=IllegalStateException.class)
public void testRemoveBeforeNext() {
Iterator<Integer> testing = FilteredIterable.of(list).retain(isEven).iterator();
- try {
- testing.remove();
- fail("Expected IllegalStateException");
- } catch (IllegalStateException e) {
- // expected
- }
+ testing.remove();
}
- @Test
+ @Test(expected=IllegalStateException.class)
public void testRemoveAfterNext() {
Iterator<Integer> testing = FilteredIterable.of(list).retain(isEven).iterator();
testing.next();
testing.remove();
- try {
- testing.remove();
- fail("Expected IllegalStateException");
- } catch (IllegalStateException e) {
- // expected
- }
+ testing.remove();
}
@Test
@@ -228,6 +214,12 @@ public class TestFilteredIterable extend
}
@Test
+ public void testFilterWithFilteredIterableReturnsItself() {
+ FilteredIterable<Integer> filter = FilteredIterable.of(list);
+ assertEquals(filter,FilteredIterable.of(filter));
+ }
+
+ @Test
public void testRetainOneType() {
Iterable<Object> objects = Arrays.asList((Object) "foo", "bar", "baz", 2L, BigInteger.ZERO);
Iterable<String> strings = FilteredIterable.of(objects).retain(String.class);
@@ -271,33 +263,18 @@ public class TestFilteredIterable extend
assertFalse(iterator.hasNext());
}
- @Test
+ @Test(expected=NullPointerException.class)
public void testRetainNullType() {
- try {
- FilteredIterable.of(Collections.singleton("foo")).retain((Class<?>) null);
- fail("Expected NullPointerException");
- } catch (NullPointerException e) {
- // okay
- }
+ FilteredIterable.of(Collections.singleton("foo")).retain((Class<?>) null);
}
- @Test
+ @Test(expected=NullPointerException.class)
public void testRetainNullTypes() {
- try {
- FilteredIterable.of(Collections.singleton("foo")).retain((Class<?>[]) null);
- fail("Expected NullPointerException");
- } catch (NullPointerException e) {
- // okay
- }
+ FilteredIterable.of(Collections.singleton("foo")).retain((Class<?>[]) null);
}
- @Test
+ @Test(expected=NullPointerException.class)
public void testRetainNullPredicate() {
- try {
- FilteredIterable.of(Collections.singleton("foo")).retain((UnaryPredicate<String>) null);
- fail("Expected NullPointerException");
- } catch (NullPointerException e) {
- // okay
- }
+ FilteredIterable.of(Collections.singleton("foo")).retain((UnaryPredicate<String>) null);
}
}
Modified: commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterator.java
URL: http://svn.apache.org/viewvc/commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterator.java?rev=1364742&r1=1364741&r2=1364742&view=diff
==============================================================================
--- commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterator.java (original)
+++ commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestFilteredIterator.java Mon Jul 23 18:20:48 2012
@@ -20,9 +20,9 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
@@ -122,54 +122,34 @@ public class TestFilteredIterator extend
assertTrue(!(testing.hasNext()));
}
- @Test
+ @Test(expected=NoSuchElementException.class)
public void testNextAfterEndOfList() {
Iterator<Integer> testing = new FilteredIterator<Integer>(list.iterator(),isEven);
Iterator<Integer> expected = evens.iterator();
while(expected.hasNext()) {
assertEquals(expected.next(),testing.next());
}
- try {
- testing.next();
- fail("ExpectedNoSuchElementException");
- } catch(NoSuchElementException e) {
- // expected
- }
+ testing.next();
}
- @Test
+ @Test(expected=NoSuchElementException.class)
public void testNextOnEmptyList() {
Iterator<Integer> testing = new FilteredIterator<Integer>(new ArrayList<Integer>().iterator(),isEven);
- try {
- testing.next();
- fail("ExpectedNoSuchElementException");
- } catch(NoSuchElementException e) {
- // expected
- }
+ testing.next();
}
- @Test
+ @Test(expected=IllegalStateException.class)
public void testRemoveBeforeNext() {
Iterator<Integer> testing = new FilteredIterator<Integer>(list.iterator(),isEven);
- try {
- testing.remove();
- fail("IllegalStateException");
- } catch(IllegalStateException e) {
- // expected
- }
+ testing.remove();
}
- @Test
+ @Test(expected=IllegalStateException.class)
public void testRemoveAfterNext() {
Iterator<Integer> testing = new FilteredIterator<Integer>(list.iterator(),isEven);
testing.next();
testing.remove();
- try {
- testing.remove();
- fail("IllegalStateException");
- } catch(IllegalStateException e) {
- // expected
- }
+ testing.remove();
}
@Test
@@ -229,6 +209,26 @@ public class TestFilteredIterator extend
public void testConstructorProhibitsNull3() {
new FilteredIterator<Integer>(list.iterator(),null);
}
+
+ @Test
+ public void testEquals() {
+ Iterator<Integer> iter = list.iterator();
+ FilteredIterator<Integer> t = new FilteredIterator<Integer>(iter, isEven);
+ UnaryPredicate<Integer> isOdd = new UnaryPredicate<Integer>() {
+ public boolean test(Integer obj) {
+ return obj.intValue() % 2 != 0;
+ }
+ };
+ UnaryPredicate<Float> isOddFloat = new UnaryPredicate<Float>() {
+ public boolean test(Float obj) {
+ return obj.intValue() % 2 != 0;
+ }
+ };
+ assertEquals(t,new FilteredIterator<Integer>(iter, isEven));
+ assertTrue(!t.equals(new FilteredIterator<Integer>(list.iterator(), isOdd)));
+ assertTrue(!t.equals(new FilteredIterator<Float>(Arrays.asList(0.0f, 0.1f).iterator(), isOddFloat)));
+ assertTrue(!t.equals(null));
+ }
// Attributes
// ------------------------------------------------------------------------
Modified: commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestTransformedIterator.java
URL: http://svn.apache.org/viewvc/commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestTransformedIterator.java?rev=1364742&r1=1364741&r2=1364742&view=diff
==============================================================================
--- commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestTransformedIterator.java (original)
+++ commons/proper/functor/trunk/src/test/java/org/apache/commons/functor/core/collection/TestTransformedIterator.java Mon Jul 23 18:20:48 2012
@@ -17,12 +17,13 @@
package org.apache.commons.functor.core.collection;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -96,54 +97,34 @@ public class TestTransformedIterator ext
assertTrue(!(testing.hasNext()));
}
- @Test
+ @Test(expected=NoSuchElementException.class)
public void testNextAfterEndOfList() {
Iterator<Integer> testing = new TransformedIterator<Integer, Integer>(list.iterator(),negate);
Iterator<Integer> expected = negatives.iterator();
while(expected.hasNext()) {
assertEquals(expected.next(),testing.next());
}
- try {
- testing.next();
- fail("ExpectedNoSuchElementException");
- } catch(NoSuchElementException e) {
- // expected
- }
+ testing.next();
}
- @Test
+ @Test(expected=NoSuchElementException.class)
public void testNextOnEmptyList() {
Iterator<Integer> testing = new TransformedIterator<Integer, Integer>(Collections.<Integer>emptyList().iterator(),negate);
- try {
- testing.next();
- fail("ExpectedNoSuchElementException");
- } catch(NoSuchElementException e) {
- // expected
- }
+ testing.next();
}
- @Test
+ @Test(expected=IllegalStateException.class)
public void testRemoveBeforeNext() {
Iterator<Integer> testing = new TransformedIterator<Integer, Integer>(list.iterator(),negate);
- try {
- testing.remove();
- fail("IllegalStateException");
- } catch(IllegalStateException e) {
- // expected
- }
+ testing.remove();
}
- @Test
+ @Test(expected=IllegalStateException.class)
public void testRemoveAfterNext() {
Iterator<Integer> testing = new TransformedIterator<Integer, Integer>(list.iterator(),negate);
testing.next();
testing.remove();
- try {
- testing.remove();
- fail("IllegalStateException");
- } catch(IllegalStateException e) {
- // expected
- }
+ testing.remove();
}
@Test
@@ -172,11 +153,22 @@ public class TestTransformedIterator ext
}
@Test
- public void testTransformWithNullPredicateReturnsIdentity() {
+ public void testTransformWithNullFunctionReturnsIdentity() {
Iterator<Integer> iter = list.iterator();
assertSame(iter,TransformedIterator.maybeTransform(iter,null));
}
+ @Test
+ public void testTransformWithNullIteratorAndNullFunctionReturnsNull() {
+ assertSame(null,TransformedIterator.maybeTransform(null,null));
+ }
+
+ @Test
+ public void testTransform() {
+ Iterator<Integer> iter = list.iterator();
+ assertNotSame(iter,TransformedIterator.maybeTransform(iter, negate));
+ }
+
@Test(expected = NullPointerException.class)
public void testConstructorProhibitsNull() {
new TransformedIterator<Integer, Integer>(null, null);
@@ -192,6 +184,21 @@ public class TestTransformedIterator ext
new TransformedIterator<Integer, Integer>(list.iterator(), null);
}
+ @Test
+ public void testEquals() {
+ Iterator<Integer> iter = list.iterator();
+ TransformedIterator<Integer, Integer> t = new TransformedIterator<Integer, Integer>(iter, negate);
+ UnaryFunction<Number, Double> negateDouble = new UnaryFunction<Number, Double>() {
+ public Double evaluate(Number obj) {
+ return new Double(obj.intValue() * -1);
+ }
+ };
+ assertEquals(t,new TransformedIterator<Integer, Integer>(iter, negate));
+ assertTrue(!t.equals(new TransformedIterator<Integer, Double>(list.iterator(), negateDouble)));
+ assertTrue(!t.equals(new TransformedIterator<Float, Integer>(Arrays.asList(0.0f, 0.1f).iterator(), negate)));
+ assertTrue(!t.equals(null));
+ }
+
// Attributes
// ------------------------------------------------------------------------
private List<Integer> list = null;