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/04/13 23:05:17 UTC

incubator-tinkerpop git commit: Add edge related HasStep tests to enforce queries on edge id.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master 6a2a350c5 -> 54d909f8e


Add edge related HasStep tests to enforce queries on edge id.


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

Branch: refs/heads/master
Commit: 54d909f8e5be41abe45c75eee9060e2297123eed
Parents: 6a2a350
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Apr 13 17:04:42 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Apr 13 17:04:42 2015 -0400

----------------------------------------------------------------------
 .../traversal/step/filter/GroovyHasTest.groovy  | 10 ++++++
 .../process/traversal/step/filter/HasTest.java  | 36 ++++++++++++++++++--
 2 files changed, 44 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/54d909f8/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
index d4512cb..b587a30 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
@@ -18,6 +18,7 @@
  */
 package org.apache.tinkerpop.gremlin.process.traversal.step.filter
 
+import org.apache.tinkerpop.gremlin.process.traversal.T
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal
 import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine
@@ -35,6 +36,11 @@ public abstract class GroovyHasTest {
     public static class StandardTraversals extends HasTest {
 
         @Override
+        public Traversal<Edge, Edge> get_g_EX11X_outV_outE_hasXid_10X(final Object e11Id, final Object e8Id) {
+            g.E(e11Id).outV.outE.has(T.id, e8Id);
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_V_outXknowsX_hasXoutXcreatedXX_name() {
             g.V.out('knows').has(__.out('created')).name
         }
@@ -112,6 +118,10 @@ public abstract class GroovyHasTest {
 
     @UseEngine(TraversalEngine.Type.COMPUTER)
     public static class ComputerTraversals extends HasTest {
+        @Override
+        public Traversal<Edge, Edge> get_g_EX11X_outV_outE_hasXid_10X(final Object e11Id, final Object e8Id) {
+            ComputerTestHelper.compute("g.E($e11Id).outV.outE.has(T.id, $e8Id)", g);
+        }
 
         @Override
         public Traversal<Vertex, String> get_g_V_outXknowsX_hasXoutXcreatedXX_name() {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/54d909f8/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
index b26af93..c036c1b 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
@@ -20,6 +20,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter;
 
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
+import org.apache.tinkerpop.gremlin.process.traversal.T;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
@@ -27,12 +28,10 @@ import org.apache.tinkerpop.gremlin.structure.Compare;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Element;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.util.StreamFactory;
 import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.List;
-import java.util.stream.Collectors;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.CREW;
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
@@ -68,6 +67,8 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Edge, Edge> get_g_E_hasLabelXknowsX();
 
+    public abstract Traversal<Edge, Edge> get_g_EX11X_outV_outE_hasXid_10X(final Object e11Id, final Object e8Id);
+
     public abstract Traversal<Edge, Edge> get_g_E_hasLabelXuses_traversesX();
 
     public abstract Traversal<Vertex, Vertex> get_g_V_hasLabelXperson_software_blahX();
@@ -255,10 +256,41 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
         assertFalse(traversal.hasNext());
     }
 
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_EX11X_outV_outE_hasXid_10X() {
+        final Object edgeId11 = convertToEdgeId("josh", "created", "lop");
+        final Object edgeId10 = convertToEdgeId("josh", "created", "ripple");
+        final Traversal<Edge, Edge> traversal = get_g_EX11X_outV_outE_hasXid_10X(edgeId11, edgeId10);
+        assert_g_EX11X(edgeId10, traversal);
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_EX11X_outV_outE_hasXid_10AsStringX() {
+        final Object edgeId11 = convertToEdgeId("josh", "created", "lop");
+        final Object edgeId10 = convertToEdgeId("josh", "created", "ripple");
+        final Traversal<Edge, Edge> traversal = get_g_EX11X_outV_outE_hasXid_10X(edgeId11.toString(), edgeId10.toString());
+        assert_g_EX11X(edgeId10, traversal);
+    }
+
+    private void assert_g_EX11X(final Object edgeId, final Traversal<Edge, Edge> traversal) {
+        printTraversalForm(traversal);
+        assertTrue(traversal.hasNext());
+        final Edge e = traversal.next();
+        assertEquals(edgeId, e.id());
+        assertFalse(traversal.hasNext());
+    }
+
     @UseEngine(TraversalEngine.Type.STANDARD)
     @UseEngine(TraversalEngine.Type.COMPUTER)
     public static class Traversals extends HasTest {
         @Override
+        public Traversal<Edge, Edge> get_g_EX11X_outV_outE_hasXid_10X(final Object e11Id, final Object e8Id) {
+            return g.E(e11Id).outV().outE().has(T.id, e8Id);
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_V_outXknowsX_hasXoutXcreatedXX_name() {
             return g.V().out("knows").has(out("created")).values("name");
         }