You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/06/10 15:51:18 UTC

incubator-tinkerpop git commit: added a new WhereTest that tests nested and/or traversal predicates.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master 53277deec -> 24e1bcd68


added a new WhereTest that tests nested and/or traversal predicates.


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

Branch: refs/heads/master
Commit: 24e1bcd68100928cb5d6d361df9d4637951d63ee
Parents: 53277de
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Jun 10 07:51:13 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Jun 10 07:51:13 2015 -0600

----------------------------------------------------------------------
 .../step/filter/GroovyWhereTest.groovy          |  7 +++++
 .../traversal/step/filter/WhereTest.java        | 32 +++++++++++++++++++-
 2 files changed, 38 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/24e1bcd6/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyWhereTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyWhereTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyWhereTest.groovy
index 0eefc3e..490c3d0 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyWhereTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyWhereTest.groovy
@@ -104,6 +104,13 @@ public abstract class GroovyWhereTest {
             TraversalScriptHelper.compute("g.V.where(not(out('created'))).name", g);
         }
 
+        // complex and/or functionality
+
+        @Override
+        public Traversal<Vertex, Map<String, String>> get_g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_select_byXnameX() {
+            TraversalScriptHelper.compute("g.V.as('a').out.as('b').where(and(__.as('a').out('knows').as('b'),or(__.as('b').out('created').has('name','ripple'),__.as('b').in('knows').count.is(not(eq(0)))))).select.by('name')", g)
+        }
+
         /*@Override
         public Traversal<Vertex, String> get_g_V_asXaX_outXknowsX_asXbX_whereXasXa__bX_outXcreatedX_hasXname__rippleX_name() {
             TraversalScriptHelper.compute("g.V.as('a').out('knows').as('b').where(__.as('a', 'b').out('created').has('name', 'ripple')).name", g)

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/24e1bcd6/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
index f674315..8212a27 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
@@ -38,7 +38,7 @@ import java.util.Set;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
 import static org.apache.tinkerpop.gremlin.process.traversal.P.*;
-import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.as;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*;
 import static org.junit.Assert.*;
 
 /**
@@ -79,6 +79,10 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, String> get_g_V_whereXnotXoutXcreatedXXX_name();
 
+    // complex and/or functionality
+
+    public abstract Traversal<Vertex,Map<String,String>> get_g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_select_byXnameX();
+
     // multi-labels
 
     //public abstract Traversal<Vertex, String> get_g_V_asXaX_outXknowsX_asXbX_whereXasXa__bX_outXcreatedX_hasXname__rippleX_name();
@@ -256,6 +260,25 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
         checkResults(Arrays.asList("vadas", "lop", "ripple"), traversal);
     }
 
+    // complex and/or functionality
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_select_byXnameX() {
+        Traversal<Vertex,Map<String,String>> traversal = get_g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_select_byXnameX();
+        printTraversalForm(traversal);
+        int counter = 0;
+        while(traversal.hasNext()) {
+            final Map<String,String> map = traversal.next();
+            assertEquals(2,map.size());
+            assertEquals("marko",map.get("a"));
+            assertTrue(map.get("b").equals("josh") || map.get("b").equals("vadas"));
+            counter++;
+        }
+        assertEquals(2,counter);
+    }
+
+
     // multi-labels
    /* @Test
     @LoadGraphWith(MODERN)
@@ -335,6 +358,13 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
             return g.V().where(not(__.out("created"))).values("name");
         }
 
+        // complex and/or functionality
+
+        @Override
+        public Traversal<Vertex,Map<String,String>> get_g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_select_byXnameX() {
+              return g.V().as("a").out().as("b").where(and(as("a").out("knows").as("b"),or(as("b").out("created").has("name","ripple"),as("b").in("knows").count().is(not(eq(0)))))).<String>select().by("name");
+        }
+
         // multi-labels
 
        /* @Override