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;