Repository: tinkerpop
Updated Branches:
  refs/heads/master 54ed33df5 -> 554bbb82e


Added tests for dedup(Scope,String...) overload in DedupTest


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

Branch: refs/heads/master
Commit: 9666bb3dc2f593b66095b3e764678ccfc35630a5
Parents: 4293eb3
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Sep 16 16:17:33 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Sep 16 16:17:33 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../step/filter/GroovyDedupTest.groovy          | 10 ++++
 .../traversal/step/filter/DedupTest.java        | 48 ++++++++++++++++++++
 3 files changed, 59 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9666bb3d/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 7c4178d..92aff5a 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -27,6 +27,7 @@ TinkerPop 3.2.3 (Release Date: NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 * Fixed a bug in Gremlin-Python `P` where predicates reversed the order of the 
predicates.
+* Added tests to `DedupTest` for the `dedup(Scope, String...)` overload.
 * Fixed a naming bug in Gremlin-Python where `P._and` and `P._or` should be 
`P.and_` and `P.or_`. (*breaking*)
 * `where()` predicate-based steps now support `by()`-modulation.
 * `TraversalRing` returns a `null` if it does not contain traversals 
(previously `IdentityTraversal`).

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9666bb3d/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyDedupTest.groovy
----------------------------------------------------------------------
diff --git 
a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyDedupTest.groovy
 
b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyDedupTest.groovy
index 86c3e15..cfad92b 100644
--- 
a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyDedupTest.groovy
+++ 
b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyDedupTest.groovy
@@ -19,6 +19,7 @@
 package org.apache.tinkerpop.gremlin.process.traversal.step.filter
 
 import org.apache.tinkerpop.gremlin.process.traversal.Path
+import org.apache.tinkerpop.gremlin.process.traversal.Scope
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal
 import org.apache.tinkerpop.gremlin.process.traversal.util.ScriptTraversal
 import org.apache.tinkerpop.gremlin.structure.Vertex
@@ -30,6 +31,15 @@ import org.apache.tinkerpop.gremlin.structure.Vertex
 public abstract class GroovyDedupTest {
 
     public static class Traversals extends DedupTest {
+        @Override
+        public Traversal<Vertex, String> 
get_g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold() {
+            return new ScriptTraversal<>(g, "gremlin-groovy", 
"g.V.out.in.values('name').fold.dedup(Scope.local).unfold;");
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, String>> 
get_g_V_out_in_asXxX_in_asXyX_selectXx_yX_byXnameX_fold_dedupXlocal_x_yX_unfold()
 {
+            return new ScriptTraversal<>(g, "gremlin-groovy", 
"g.V.out.as('x').in.as('y').select('x','y').by('name').fold.dedup(Scope.local,'x','y').unfold");
+        }
 
         @Override
         public Traversal<Vertex, String> get_g_V_both_dedup_name() {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9666bb3d/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
----------------------------------------------------------------------
diff --git 
a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
 
b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
index fe1db71..a0cc6e9 100644
--- 
a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
+++ 
b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
@@ -23,6 +23,7 @@ import 
org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
+import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.structure.T;
@@ -38,6 +39,9 @@ import java.util.Set;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
 import static 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.bothE;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.hamcrest.Matchers.isIn;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -73,6 +77,40 @@ public abstract class DedupTest extends 
AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, String> 
get_g_V_both_both_dedup_byXoutE_countX_name();
 
+    public abstract Traversal<Vertex, String> 
get_g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold();
+
+    public abstract Traversal<Vertex, Map<String, String>> 
get_g_V_out_in_asXxX_in_asXyX_selectXx_yX_byXnameX_fold_dedupXlocal_x_yX_unfold();
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold() {
+        final Traversal<Vertex, String> traversal = 
get_g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold();
+        final List<String> names = traversal.toList();
+        assertEquals(3, names.size());
+        assertThat(names, containsInAnyOrder("marko", "josh", "peter"));
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void 
g_V_out_in_asXxX_in_asXyX_selectXx_yX_byXnameX_fold_dedupXlocal_x_yX_unfold() {
+        final Traversal<Vertex, Map<String, String>> traversal = 
get_g_V_out_in_asXxX_in_asXyX_selectXx_yX_byXnameX_fold_dedupXlocal_x_yX_unfold();
+        final List<Map<String,String>> names = traversal.toList();
+        assertEquals(6, names.size());
+        for (final Map<String, String> m : names) {
+            if (m.get("x").equals("lop")) {
+                assertThat(m.get("y"), isIn(Arrays.asList("marko", "josh", 
"peter")));
+            } else if (m.get("x").equals("vadas")) {
+                assertEquals("marko", m.get("y"));
+            } else if (m.get("x").equals("josh")) {
+                assertEquals("marko", m.get("y"));
+            } else if (m.get("x").equals("ripple")) {
+                assertEquals("josh", m.get("y"));
+            } else {
+                fail("A value was returned that was not expected in the 
result: " + m.get("x"));
+            }
+        }
+    }
+
     @Test
     @LoadGraphWith(MODERN)
     public void g_V_both_dedup_name() {
@@ -241,6 +279,16 @@ public abstract class DedupTest extends 
AbstractGremlinProcessTest {
 
     public static class Traversals extends DedupTest {
         @Override
+        public Traversal<Vertex, String> 
get_g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold() {
+            return 
g.V().out().in().values("name").fold().dedup(Scope.local).unfold();
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, String>> 
get_g_V_out_in_asXxX_in_asXyX_selectXx_yX_byXnameX_fold_dedupXlocal_x_yX_unfold()
 {
+            return 
g.V().out().as("x").in().as("y").select("x","y").by("name").fold().dedup(Scope.local,"x","y").unfold();
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_V_both_dedup_name() {
             return g.V().both().dedup().values("name");
         }

Reply via email to