You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2015/03/11 18:28:31 UTC

[05/19] incubator-tinkerpop git commit: Add IteratorUtils tests for converting arbitrary objects to iterator.

Add IteratorUtils tests for converting arbitrary objects to iterator.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/f3d99939
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/f3d99939
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/f3d99939

Branch: refs/heads/newapi
Commit: f3d99939c94a1916571ea694e7c8ef8e3b55bd05
Parents: c94ca2e
Author: Stephen Mallette <sp...@apache.org>
Authored: Tue Mar 10 08:45:22 2015 -0400
Committer: Stephen Mallette <sp...@apache.org>
Committed: Tue Mar 10 08:45:22 2015 -0400

----------------------------------------------------------------------
 .../util/iterator/IteratorUtilsTest.java        | 83 ++++++++++++++++++--
 1 file changed, 77 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f3d99939/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java
index 884e124..a9bfe4b 100644
--- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java
+++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java
@@ -2,7 +2,11 @@ package org.apache.tinkerpop.gremlin.util.iterator;
 
 import org.junit.Test;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -13,16 +17,83 @@ import static org.junit.Assert.assertFalse;
 public class IteratorUtilsTest {
     @Test
     public void shouldIterateSingleObject() {
-        final Iterator<String> itty = IteratorUtils.of("test");
-        assertEquals("test", itty.next());
-        assertFalse(itty.hasNext());
+        assertIterator(IteratorUtils.of("test1"), 1);
     }
 
     @Test
     public void shouldIteratePairOfObjects() {
-        final Iterator<String> itty = IteratorUtils.of("test1", "test2");
-        assertEquals("test1", itty.next());
-        assertEquals("test2", itty.next());
+        assertIterator(IteratorUtils.of("test1", "test2"), 2);
+    }
+
+    @Test
+    public void shouldConvertIterableToIterator() {
+        final List<String> iterable = new ArrayList<>();
+        iterable.add("test1");
+        iterable.add("test2");
+        iterable.add("test3");
+        assertIterator(IteratorUtils.convertToIterator(iterable), iterable.size());
+    }
+
+    @Test
+    public void shouldConvertIteratorToIterator() {
+        final List<String> iterable = new ArrayList<>();
+        iterable.add("test1");
+        iterable.add("test2");
+        iterable.add("test3");
+        assertIterator(IteratorUtils.convertToIterator(iterable.iterator()), iterable.size());
+    }
+
+    @Test
+    public void shouldConvertArrayToIterator() {
+        final String[] iterable = new String[3];
+        iterable[0] = "test1";
+        iterable[1] = "test2";
+        iterable[2] = "test3";
+        assertIterator(IteratorUtils.convertToIterator(iterable), iterable.length);
+    }
+
+    @Test
+    public void shouldConvertThrowableToIterator() {
+        final Exception ex = new Exception("test1");
+        assertIterator(IteratorUtils.convertToIterator(ex), 1);
+    }
+
+    @Test
+    public void shouldConvertStreamToIterator() {
+        final List<String> iterable = new ArrayList<>();
+        iterable.add("test1");
+        iterable.add("test2");
+        iterable.add("test3");
+        assertIterator(IteratorUtils.convertToIterator(iterable.stream()), iterable.size());
+    }
+
+    @Test
+    public void shouldConvertMapToIterator() {
+        final Map<String,String> m = new HashMap<>();
+        m.put("key1", "val1");
+        m.put("key2", "val2");
+        m.put("key3", "val3");
+
+        final Iterator itty = IteratorUtils.convertToIterator(m);
+        for (int ix = 0; ix < m.size(); ix++) {
+            final Map.Entry entry = (Map.Entry) itty.next();
+            assertEquals("key" + (ix + 1), entry.getKey());
+            assertEquals("val" + (ix + 1), entry.getValue());
+        }
+
+        assertFalse(itty.hasNext());
+    }
+
+    @Test
+    public void shouldConvertAnythingElseToIteratorByWrapping() {
+        assertIterator(IteratorUtils.convertToIterator("test1"), 1);
+    }
+
+    public <S> void assertIterator(final Iterator<S> itty, final int size) {
+        for (int ix = 0; ix < size; ix++) {
+            assertEquals("test" + (ix + 1), itty.next());
+        }
+
         assertFalse(itty.hasNext());
     }
 }