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/05/20 15:46:56 UTC
[3/4] incubator-tinkerpop git commit: Covered some un-tested code in
the IteratorUtils.
Covered some un-tested code in the IteratorUtils.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/2474a748
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/2474a748
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/2474a748
Branch: refs/heads/master
Commit: 2474a748e88701ab7e609a28735cc2e3f74cd583
Parents: 4a44b30
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed May 20 09:40:33 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed May 20 09:40:33 2015 -0400
----------------------------------------------------------------------
.../gremlin/util/iterator/IteratorUtils.java | 7 +--
.../util/iterator/IteratorUtilsTest.java | 56 ++++++++++++++++++--
2 files changed, 54 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2474a748/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java
index 421d0b2..3823181 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java
@@ -260,12 +260,7 @@ public final class IteratorUtils {
}
public static final <S> Iterable<S> filter(final Iterable<S> iterable, final Predicate<S> predicate) {
- return new Iterable<S>() {
- @Override
- public Iterator<S> iterator() {
- return IteratorUtils.filter(iterable.iterator(), predicate);
- }
- };
+ return () -> IteratorUtils.filter(iterable.iterator(), predicate);
}
///////////////////
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2474a748/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java
index e909854..7aacbce 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtilsTest.java
@@ -19,9 +19,11 @@
package org.apache.tinkerpop.gremlin.util.iterator;
import org.apache.tinkerpop.gremlin.process.traversal.util.FastNoSuchElementException;
-import org.hamcrest.CoreMatchers;
import org.junit.Test;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
@@ -53,6 +55,14 @@ public class IteratorUtilsTest {
}
@Test
+ public void shouldHavePrivateConstructor() throws Exception {
+ final Constructor<IteratorUtils> constructor = IteratorUtils.class.getDeclaredConstructor();
+ assertTrue(Modifier.isPrivate(constructor.getModifiers()));
+ constructor.setAccessible(true);
+ constructor.newInstance();
+ }
+
+ @Test
public void shouldIterateToEnd() {
final Iterator itty = Arrays.asList(1, 2, 3).iterator();
IteratorUtils.iterate(itty);
@@ -369,7 +379,7 @@ public class IteratorUtilsTest {
assertEquals(1, m1.get("3").size());
assertEquals(3, m1.size());
- final Map<String,List<String>> m2 = IteratorUtils.groupBy(iterable.iterator(), i -> i.substring(0,4));
+ final Map<String,List<String>> m2 = IteratorUtils.groupBy(iterable.iterator(), i -> i.substring(0, 4));
assertEquals("test1", m2.get("test").get(0));
assertEquals("test2", m2.get("test").get(1));
assertEquals("test3", m2.get("test").get(2));
@@ -397,6 +407,17 @@ public class IteratorUtilsTest {
assertIterator(IteratorUtils.map(iterable, s -> "test" + s).iterator(), 3);
}
+ @Test(expected = FastNoSuchElementException.class)
+ public void shouldThrowOnFilterIfNextedPastAvailable() {
+ final List<String> iterable = new ArrayList<>();
+ iterable.add("test1");
+ iterable.add("test2");
+ iterable.add("test3");
+
+ final Iterator<String> filteredItty = IteratorUtils.filter(iterable.iterator(), s -> s.startsWith("dfaa"));
+ filteredItty.next();
+ }
+
@Test
public void shouldFilterAllFromIterator() {
final List<String> iterable = new ArrayList<>();
@@ -418,6 +439,33 @@ public class IteratorUtilsTest {
}
@Test
+ public void shouldFilterNoneFromIteratorWithoutHasNextCheckFirst() {
+ final List<String> iterable = new ArrayList<>();
+ iterable.add("test1");
+ iterable.add("test2");
+ iterable.add("test3");
+
+ final Iterator<String> filteredItty = IteratorUtils.filter(iterable.iterator(), s -> s.startsWith("test"));
+ assertEquals("test1", filteredItty.next());
+ assertEquals("test2", filteredItty.next());
+ assertEquals("test3", filteredItty.next());
+ }
+
+ @Test
+ public void shouldFilterNoneFromIteratorWithMultipleChecksOfHasNext() {
+ final List<String> iterable = new ArrayList<>();
+ iterable.add("test1");
+ iterable.add("test2");
+ iterable.add("test3");
+
+ final Iterator<String> filteredItty = IteratorUtils.filter(iterable.iterator(), s -> s.startsWith("test"));
+ assertThat(filteredItty.hasNext(), is(true));
+ assertThat(filteredItty.hasNext(), is(true));
+ assertThat(filteredItty.hasNext(), is(true));
+ assertIterator(filteredItty, 3);
+ }
+
+ @Test
public void shouldFilterSomeFromIterator() {
final List<String> iterable = new ArrayList<>();
iterable.add("test1");
@@ -437,6 +485,7 @@ public class IteratorUtilsTest {
assertIterator(IteratorUtils.filter(iterable, s -> s.startsWith("dfaa")).iterator(), 0);
}
+
@Test
public void shouldFilterNoneFromIterable() {
final List<String> iterable = new ArrayList<>();
@@ -489,7 +538,7 @@ public class IteratorUtilsTest {
iterable.add("2");
iterable.add("3");
- assertEquals("test123", IteratorUtils.reduce(iterable, "test", (a,b) -> a + b));
+ assertEquals("test123", IteratorUtils.reduce(iterable, "test", (a, b) -> a + b));
}
@Test
@@ -537,6 +586,7 @@ public class IteratorUtilsTest {
public <S> void assertIterator(final Iterator<S> itty, final int size) {
for (int ix = 0; ix < size; ix++) {
+ assertThat(itty.hasNext(), is(true));
assertEquals("test" + (ix + 1), itty.next());
}