You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by mh...@apache.org on 2015/07/23 01:59:45 UTC

incubator-tinkerpop git commit: TINKERPOP3-781: Add LocalTest cases for preserving path across aggregation

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/TINKERPOP3-781-local-aggregation-should-not-destroy-path [created] e73d279b3


TINKERPOP3-781: Add LocalTest cases for preserving path across aggregation


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

Branch: refs/heads/TINKERPOP3-781-local-aggregation-should-not-destroy-path
Commit: e73d279b36e9b90788c5ebbf9f61f3735e8fcb4d
Parents: 2580718
Author: mhfrantz <mf...@redsealnetworks.com>
Authored: Wed Jul 22 16:59:33 2015 -0700
Committer: mhfrantz <mf...@redsealnetworks.com>
Committed: Wed Jul 22 16:59:33 2015 -0700

----------------------------------------------------------------------
 .../step/branch/GroovyLocalTest.groovy          | 11 +++++
 .../traversal/step/branch/LocalTest.java        | 45 ++++++++++++++++++++
 2 files changed, 56 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e73d279b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyLocalTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyLocalTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyLocalTest.groovy
index 7ed2673..546a6a6 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyLocalTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyLocalTest.groovy
@@ -19,6 +19,7 @@
 package org.apache.tinkerpop.gremlin.process.traversal.step.branch
 
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalScriptHelper
+import org.apache.tinkerpop.gremlin.process.traversal.Path
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal
 import org.apache.tinkerpop.gremlin.structure.Edge
 import org.apache.tinkerpop.gremlin.structure.Vertex
@@ -79,5 +80,15 @@ public abstract class GroovyLocalTest {
         public Traversal<Vertex, String> get_g_V_localXinEXknowsX_limitX2XX_outV_name() {
             TraversalScriptHelper.compute("g.V().local(__.inE('knows').limit(2).outV).name", g);
         }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_asXaX_localXboth_foldX_asXbX_selectXa_bX() {
+            TraversalScriptHelper.compute("g.V.as('a').local(__.both.fold).as('b').select('a', 'b')", g);
+        }
+
+        @Override
+        public Traversal<Vertex, Path> get_g_V_localXboth_foldX_path() {
+            TraversalScriptHelper.compute("g.V.local(__.both.fold).path", g);
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e73d279b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
index f1480fb..b16d70e 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
@@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
+import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
@@ -35,6 +36,7 @@ import java.util.Map;
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.CREW;
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*;
+import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.junit.Assert.*;
 
 
@@ -64,6 +66,10 @@ public abstract class LocalTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, String> get_g_V_localXinEXknowsX_limitX2XX_outV_name();
 
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_asXaX_localXboth_foldX_asXbX_selectXa_bX();
+
+    public abstract Traversal<Vertex, Path> get_g_V_localXboth_foldX_path();
+
     @Test
     @LoadGraphWith(CREW)
     public void g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value() {
@@ -197,6 +203,36 @@ public abstract class LocalTest extends AbstractGremlinProcessTest {
         assertEquals(5, counter);
     }
 
+    /** TINKERPOP3-781 */
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_asXaX_localXboth_foldX_asXbX_selectXa_bX() {
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_asXaX_localXboth_foldX_asXbX_selectXa_bX();
+        printTraversalForm(traversal);
+        int counter = 0;
+        while (traversal.hasNext()) {
+            counter++;
+            final Map<String, Object> map = traversal.next();
+            assertThat(map.keySet(), containsInAnyOrder("a", "b"));
+        }
+        assertEquals(6, counter);
+    }
+
+    /** TINKERPOP3-781 */
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_localXboth_foldX_path() {
+        final Traversal<Vertex, Path> traversal = get_g_V_localXboth_foldX_path();
+        printTraversalForm(traversal);
+        int counter = 0;
+        while (traversal.hasNext()) {
+            counter++;
+            final Path path = traversal.next();
+            assertEquals(2, path.size());
+        }
+        assertEquals(6, counter);
+    }
+
     public static class Traversals extends LocalTest {
 
         @Override
@@ -249,6 +285,15 @@ public abstract class LocalTest extends AbstractGremlinProcessTest {
             return g.V().local(inE("knows").limit(2)).outV().values("name");
         }
 
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_asXaX_localXboth_foldX_asXbX_selectXa_bX() {
+            return g.V().as("a").local(both().fold()).as("b").select("a", "b");
+        }
+
+        @Override
+        public Traversal<Vertex, Path> get_g_V_localXboth_foldX_path() {
+            return g.V().local(both().fold()).path();
+        }
 
     }
 }