You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2019/09/30 13:15:07 UTC

[commons-collections] branch master updated: Add Testcases (#86)

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git


The following commit(s) were added to refs/heads/master by this push:
     new c86c01a  Add Testcases (#86)
c86c01a is described below

commit c86c01a2e278c7977be3acffb88cd14c38005aee
Author: dota17 <50...@users.noreply.github.com>
AuthorDate: Mon Sep 30 21:15:02 2019 +0800

    Add Testcases (#86)
---
 .../commons/collections4/IteratorUtilsTest.java    | 286 +++++++++++++++++++--
 1 file changed, 264 insertions(+), 22 deletions(-)

diff --git a/src/test/java/org/apache/commons/collections4/IteratorUtilsTest.java b/src/test/java/org/apache/commons/collections4/IteratorUtilsTest.java
index 110004b..e44ed3c 100644
--- a/src/test/java/org/apache/commons/collections4/IteratorUtilsTest.java
+++ b/src/test/java/org/apache/commons/collections4/IteratorUtilsTest.java
@@ -17,6 +17,7 @@
 package org.apache.commons.collections4;
 
 import static org.apache.commons.collections4.functors.EqualPredicate.equalPredicate;
+import static org.apache.commons.collections4.functors.TruePredicate.INSTANCE;
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.replay;
@@ -27,6 +28,7 @@ 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.Collection;
@@ -39,15 +41,13 @@ import java.util.ListIterator;
 import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.Vector;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.Set;
+import java.util.LinkedHashSet;
 
-import org.apache.commons.collections4.iterators.EmptyIterator;
-import org.apache.commons.collections4.iterators.EmptyListIterator;
-import org.apache.commons.collections4.iterators.EmptyMapIterator;
-import org.apache.commons.collections4.iterators.EmptyOrderedIterator;
-import org.apache.commons.collections4.iterators.EmptyOrderedMapIterator;
-import org.apache.commons.collections4.iterators.EnumerationIterator;
-import org.apache.commons.collections4.iterators.NodeListIterator;
-import org.apache.commons.collections4.iterators.ObjectArrayIterator;
+import org.apache.commons.collections4.iterators.*;
+import org.apache.commons.collections4.map.EntrySetToMapIteratorAdapter;
 import org.junit.Before;
 import org.junit.Test;
 import org.w3c.dom.Node;
@@ -107,7 +107,7 @@ public class IteratorUtilsTest {
         replay(node4);
 
         return new Node[]{node1, node2, node3, node4};
-}
+    }
 
     /**
      * Gets an immutable Iterator operating on the elements ["a", "b", "c", "d"].
@@ -166,14 +166,14 @@ public class IteratorUtilsTest {
             iterator = IteratorUtils.arrayIterator(Integer.valueOf(0));
             fail("Expecting IllegalArgumentException");
         } catch (final IllegalArgumentException ex) {
-                // expected
+            // expected
         }
 
         try {
             iterator = IteratorUtils.arrayIterator((Object[]) null);
             fail("Expecting NullPointerException");
         } catch (final NullPointerException ex) {
-                // expected
+            // expected
         }
 
         iterator = IteratorUtils.arrayIterator(objArray, 1);
@@ -296,14 +296,14 @@ public class IteratorUtilsTest {
             iterator = IteratorUtils.arrayListIterator(Integer.valueOf(0));
             fail("Expecting IllegalArgumentException");
         } catch (final IllegalArgumentException ex) {
-                // expected
+            // expected
         }
 
         try {
             iterator = IteratorUtils.arrayListIterator((Object[]) null);
             fail("Expecting NullPointerException");
         } catch (final NullPointerException ex) {
-                // expected
+            // expected
         }
 
         iterator = IteratorUtils.arrayListIterator(objArray, 1);
@@ -551,8 +551,8 @@ public class IteratorUtilsTest {
         Collections.reverse(combinedList);
 
         it = IteratorUtils.collatedIterator(reverseComparator,
-                                            collectionOdd.iterator(),
-                                            collectionEven.iterator());
+                collectionOdd.iterator(),
+                collectionEven.iterator());
         result = IteratorUtils.toList(it);
         assertEquals(combinedList, result);
     }
@@ -845,11 +845,12 @@ public class IteratorUtilsTest {
     }
     @Test
     public void testGetIterator() {
-    	final Object[] objArray = {"a", "b", "c"};
+        final Object[] objArray = {"a", "b", "c"};
         final Map<String, String> inMap = new HashMap<>();
         final Node[] nodes = createNodes();
         final NodeList nodeList = createNodeList(nodes);
 
+
         assertTrue("returns empty iterator when null passed", IteratorUtils.getIterator(null) instanceof EmptyIterator);
         assertTrue("returns Iterator when Iterator directly ", IteratorUtils.getIterator(iterableA.iterator()) instanceof Iterator);
         assertTrue("returns Iterator when iterable passed", IteratorUtils.getIterator(iterableA) instanceof Iterator);
@@ -857,7 +858,12 @@ public class IteratorUtilsTest {
         assertTrue("returns Iterator when Map passed", IteratorUtils.getIterator(inMap) instanceof Iterator);
         assertTrue("returns NodeListIterator when nodeList passed", IteratorUtils.getIterator(nodeList) instanceof NodeListIterator);
         assertTrue("returns EnumerationIterator when Enumeration passed", IteratorUtils.getIterator(new Vector().elements()) instanceof EnumerationIterator);
-
+        Node node1 = createMock(Node.class);
+        assertTrue("returns NodeListIterator when nodeList passed", IteratorUtils.getIterator(node1) instanceof NodeListIterator);
+        Dictionary dic = createMock(Dictionary.class);
+        assertTrue("returns EnumerationIterator when Dictionary passed", IteratorUtils.getIterator(dic) instanceof EnumerationIterator);
+        int[] arr = new int[8];
+        assertTrue("returns ArrayIterator when array passed", IteratorUtils.getIterator(arr) instanceof ArrayIterator);
     }
 
     @Test
@@ -900,6 +906,13 @@ public class IteratorUtilsTest {
 
         // single use iterator
         assertFalse("should not be able to iterate twice", IteratorUtils.asIterable(iterator).iterator().hasNext());
+
+        try {
+            IteratorUtils.nodeListIterator((Node)null);
+            fail("Expecting NullPointerException");
+        } catch (final NullPointerException ex) {
+            // success
+        }
     }
 
     /**
@@ -922,6 +935,13 @@ public class IteratorUtilsTest {
 
         // single use iterator
         assertFalse("should not be able to iterate twice", IteratorUtils.asIterable(iterator).iterator().hasNext());
+
+        try {
+            IteratorUtils.nodeListIterator((NodeList)null);
+            fail("Expecting NullPointerException");
+        } catch (final NullPointerException ex) {
+            // success
+        }
     }
 
     @Test
@@ -934,7 +954,7 @@ public class IteratorUtilsTest {
         assertEquals(list, Arrays.asList(result));
 
         try {
-        	IteratorUtils.toArray(null);
+            IteratorUtils.toArray(null);
             fail("Expecting NullPointerException");
         } catch (final NullPointerException ex) {
             // success
@@ -951,14 +971,14 @@ public class IteratorUtilsTest {
         assertEquals(list, Arrays.asList(result));
 
         try {
-        	IteratorUtils.toArray(list.iterator(), null);
+            IteratorUtils.toArray(list.iterator(), null);
             fail("Expecting NullPointerException");
         } catch (final NullPointerException ex) {
             // success
         }
 
         try {
-        	IteratorUtils.toArray(null, String.class);
+            IteratorUtils.toArray(null, String.class);
             fail("Expecting NullPointerException");
         } catch (final NullPointerException ex) {
             // success
@@ -973,6 +993,21 @@ public class IteratorUtilsTest {
         list.add(null);
         final List<Object> result = IteratorUtils.toList(list.iterator());
         assertEquals(list, result);
+        //add
+        try {
+            IteratorUtils.toList(null,10);
+            fail("Expecting NullPointerException");
+        } catch (final NullPointerException ex) {
+            // success
+        }
+
+        try {
+            IteratorUtils.toList(list.iterator(),-1);
+            fail("Expecting IllegalArgumentException");
+        } catch (final IllegalArgumentException ex) {
+            // success
+        }
+
     }
 
     @Test
@@ -986,8 +1021,8 @@ public class IteratorUtilsTest {
         final ListIterator<Integer> liItr = IteratorUtils.toListIterator(iterator);
         int expected = 0;
         while(liItr.hasNext()){
-        	assertEquals(expected, liItr.next().intValue());
-        	++expected;
+            assertEquals(expected, liItr.next().intValue());
+            ++expected;
         }
     }
 
@@ -1165,4 +1200,211 @@ public class IteratorUtilsTest {
         assertTrue(listIterator.hasNext());
     }
 
+    @Test(expected=NullPointerException.class)
+    public void testPushBackIterator(){
+        ArrayList arrayList = new ArrayList();
+        Iterator ie = arrayList.iterator();
+        assertTrue("create instance fail",IteratorUtils.pushbackIterator(ie) instanceof Iterator);
+        IteratorUtils.pushbackIterator(null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testPeekingIterator(){
+        ArrayList arrayList = new ArrayList();
+        Iterator ie = arrayList.iterator();
+        assertTrue("create instance fail",IteratorUtils.peekingIterator(ie) instanceof Iterator);
+        IteratorUtils.peekingIterator(null);
+
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testUnmodifiableMapIterator(){
+        Set<?> set = new LinkedHashSet<>();
+        final MapIterator ie  = (MapIterator) new EntrySetToMapIteratorAdapter(set);
+        assertTrue("create instance fail", IteratorUtils.unmodifiableMapIterator(ie) instanceof MapIterator);
+        IteratorUtils.unmodifiableMapIterator(null);
+
+    }
+
+    @Test
+    public void testChainedIterator(){
+        ArrayList arrayList = new ArrayList();
+        Iterator ie = arrayList.iterator();
+        assertTrue("create instance fail", IteratorUtils.chainedIterator(ie) instanceof Iterator);
+        final Collection<Iterator<?>> coll = new ArrayList();
+        assertTrue("create instance fail", IteratorUtils.chainedIterator(coll) instanceof Iterator);
+
+    }
+
+    @Test
+    public void testSingletonIterator(){
+        assertTrue("create instance fail",
+                IteratorUtils.singletonIterator(new Object()) instanceof ResettableIterator);
+    }
+
+    @Test
+    public void testSingletonListIterator(){
+        assertTrue("create instance fail",
+                IteratorUtils.singletonListIterator(new Object()) instanceof Iterator);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testAsEnumerationNull(){
+        IteratorUtils.asEnumeration(null);
+    }
+
+    @Test
+    public void testObjectGraphIterator(){
+        assertTrue("create instance fail",
+                IteratorUtils.objectGraphIterator(null, null) instanceof Iterator);
+    }
+
+    @Test
+    public void testZippingIterator(){
+        ArrayList arrayList = new ArrayList();
+        Iterator ie = arrayList.iterator();
+        assertTrue("create instance fail", IteratorUtils.zippingIterator(ie, ie,ie) instanceof ZippingIterator);
+        assertTrue("create instance fail", IteratorUtils.zippingIterator(ie, ie) instanceof ZippingIterator);
+    }
+
+    @Test
+    public void testFilteredIterator(){
+        ArrayList arrayList = new ArrayList();
+        Iterator ie = arrayList.iterator();
+        try {
+            IteratorUtils.filteredIterator(ie,null);
+        } catch (NullPointerException npe){
+            //
+        }
+        try {
+            IteratorUtils.filteredIterator(null,null);
+        } catch (NullPointerException npe){
+            //
+        }
+    }
+
+    @Test
+    public void testTransformedIterator(){
+        ArrayList arrayList = new ArrayList();
+        Iterator ie = arrayList.iterator();
+        try {
+            IteratorUtils.transformedIterator(ie,null);
+        } catch (NullPointerException npe){
+            //
+        }
+        try {
+            IteratorUtils.transformedIterator(null,null);
+        } catch (NullPointerException npe){
+            //
+        }
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testAsIterator(){
+        final Vector<String> vector = new Vector<>();
+        vector.addElement("zero");
+        vector.addElement("one");
+        Enumeration<String> en = vector.elements();
+        assertTrue("create instance fail", IteratorUtils.asIterator(en) instanceof Iterator);
+        IteratorUtils.asIterator(null);
+    }
+
+    @Test
+    public void testAsIteratorNull(){
+        Collection coll = new ArrayList ();
+        coll.add("test");
+        final Vector<String> vector = new Vector<>();
+        vector.addElement("test");
+        vector.addElement("one");
+        Enumeration<String> en = vector.elements();
+        assertTrue("create instance fail", IteratorUtils.asIterator(en,coll) instanceof Iterator);
+        try {
+            IteratorUtils.asIterator(null,coll);
+        } catch (NullPointerException npe){
+            //
+        }
+        try {
+            IteratorUtils.asIterator(en,null);
+        } catch (NullPointerException npe){
+            //
+        }
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testLoopingIterator(){
+        ArrayList arrayList = new ArrayList();
+        arrayList.add("test");
+        Collection coll = new ArrayList ();
+        coll.add("test");
+        Iterator ie = arrayList.iterator();
+        assertTrue("create instance fail", IteratorUtils.loopingIterator(coll) instanceof ResettableIterator);
+        IteratorUtils.loopingIterator(null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testLoopingListIterator(){
+        ArrayList arrayList = new ArrayList();
+        arrayList.add("test");
+        Iterator ie = arrayList.iterator();
+        assertTrue("create instance fail",
+                IteratorUtils.loopingListIterator(arrayList) instanceof ResettableIterator);
+        IteratorUtils.loopingListIterator(null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testCollatedIteratorNull() {
+        ArrayList arrayList = new ArrayList();
+        // natural ordering
+        Iterator<Integer> it =
+                IteratorUtils.collatedIterator(null, collectionOdd.iterator(),collectionOdd.iterator(),collectionOdd.iterator());
+
+        List<Integer> result = IteratorUtils.toList(it);
+        assertEquals(18, result.size());
+
+        it = IteratorUtils.collatedIterator(null, collectionOdd.iterator());
+        result = IteratorUtils.toList(it);
+        assertEquals(collectionOdd, result);
+
+        final Comparator<Integer> reverseComparator =
+                ComparatorUtils.reversedComparator(ComparatorUtils.<Integer>naturalComparator());
+
+        Collections.reverse(collectionOdd);
+
+        it = IteratorUtils.collatedIterator(reverseComparator, collectionOdd.iterator());
+        result = IteratorUtils.toList(it);
+        assertEquals(collectionOdd, result);
+        IteratorUtils.collatedIterator(null, arrayList.iterator(),arrayList.listIterator(),null);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testCollatedIteratorCollectionNull() {
+        Collection<Iterator<?>> coll = new ArrayList<>();
+        coll.add(collectionOdd.iterator());
+        // natural ordering
+        Iterator<?> it =
+                IteratorUtils.collatedIterator(null, coll);
+        List<?> result = IteratorUtils.toList(it);
+        assertEquals(6, result.size());
+        IteratorUtils.collatedIterator(null,(Collection<Iterator<?>>) null);
+    }
+
+    @Test
+    public void testFilteredListIterator(){
+        List arrayList = new ArrayList();
+        arrayList.add("test");
+        Predicate predicate   = INSTANCE;
+        assertTrue("create instance fail",
+                IteratorUtils.filteredListIterator(arrayList.listIterator(),predicate) instanceof ListIterator);
+        try {
+            IteratorUtils.filteredListIterator(null, predicate);
+        } catch (NullPointerException npe){
+            //
+        }
+        try {
+            IteratorUtils.filteredListIterator(arrayList.listIterator(),null);
+        } catch (NullPointerException npe){
+            //
+        }
+    }
 }
+