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 2016/10/03 16:55:48 UTC

[2/2] tinkerpop git commit: merged NotStep fix and tests from tp31. CTR.

merged NotStep fix and tests from tp31. CTR.


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

Branch: refs/heads/master
Commit: 8ab682fef3e3da12904cb0d825abf4cc1ba8235a
Parents: bc00bb3 c7f42d8
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon Oct 3 10:55:41 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon Oct 3 10:55:41 2016 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                 |  1 +
 .../process/traversal/step/filter/NotStep.java     |  7 +++++++
 .../traversal/step/map/GroovyMatchTest.groovy      | 10 ++++++++++
 .../process/traversal/step/map/MatchTest.java      | 17 +++++++++++++++++
 4 files changed, 35 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ab682fe/CHANGELOG.asciidoc
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ab682fe/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/NotStep.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ab682fe/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyMatchTest.groovy
----------------------------------------------------------------------
diff --cc gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyMatchTest.groovy
index b35b763,b3d8ea9..f953e91
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyMatchTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyMatchTest.groovy
@@@ -336,27 -336,17 +336,37 @@@ public abstract class GroovyMatchTest 
               g.V.match(
                      __.as('a').both.as('b'),
                      __.as('b').both.as('c')).dedup('a','b').by(label)
 -            """, g)
 +            """)
 +        }
 +
 +        @Override
 +        public Traversal<Vertex, Long> get_g_V_hasLabelXsongsX_matchXa_name_b__a_performances_cX_selectXb_cX_count() {
 +            new ScriptTraversal<>(g, "gremlin-groovy", """
 +             g.V.hasLabel('song').match(
 +                    __.as('a').values('name').as('b'),
 +                    __.as('a').values('performances').as('c')
 +            ).select('b', 'c').count();
 +            """)
 +        }
 +
 +        @Override
 +        public Traversal<Vertex, Long> get_g_V_matchXa_knows_count_bX_selectXbX() {
 +            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.match(__.as('a').out('knows').count.as('b')).select('b')")
 +        }
 +
 +        @Override
 +        public Traversal<Vertex, String> get_g_V_matchXa_knows_b__b_created_c__a_created_cX_dedupXa_b_cX_selectXaX_byXnameX() {
 +            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.match(__.as('a').out('knows').as('b'), __.as('b').out('created').as('c'), __.as('a').out('created').as('c')).dedup('a', 'b', 'c').select('a').by('name')")
          }
+ 
+         @Override
+         public Traversal<Vertex, String> get_g_V_notXmatchXa_age_b__a_name_cX_whereXb_eqXcXX_selectXaXX_name() {
 -            TraversalScriptHelper.compute("""
++            new ScriptTraversal<>(g, "gremlin-groovy", """
+                 g.V.not(match(
+                             __.as('a').age.as('b'),
+                             __.as('a').name.as('c')).
+                         where('b', eq('c')).select('a')).name
+             """, g)
+         }
      }
  }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ab682fe/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
index 508968a,46b8e59..ce60734
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
@@@ -146,16 -143,11 +147,20 @@@ public abstract class MatchTest extend
      // distinct values with by()-modulation
      public abstract Traversal<Vertex, Map<String, Vertex>> get_g_V_matchXa_both_b__b_both_cX_dedupXa_bX_byXlabelX();
  
 +    public abstract Traversal<Vertex, Long> get_g_V_hasLabelXsongsX_matchXa_name_b__a_performances_cX_selectXb_cX_count();
 +
 +    // reducing barrier on lazy standard shouldn't yield an empty barrier
 +    public abstract Traversal<Vertex, Long> get_g_V_matchXa_knows_count_bX_selectXbX();
 +
 +    // verifying keep labels and dedup labels interactions
 +    public abstract Traversal<Vertex, String> get_g_V_matchXa_knows_b__b_created_c__a_created_cX_dedupXa_b_cX_selectXaX_byXnameX();
 +
+     // test not(match)
+     public abstract Traversal<Vertex, String> get_g_V_notXmatchXa_age_b__a_name_cX_whereXb_eqXcXX_selectXaXX_name();
+ 
      @Test
      @LoadGraphWith(MODERN)
++
      public void g_V_valueMap_matchXa_selectXnameX_bX() {
          final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_valueMap_matchXa_selectXnameX_bX();
          printTraversalForm(traversal);
@@@ -519,33 -496,13 +524,40 @@@
      }
  
      @Test
 +    @LoadGraphWith(GRATEFUL)
 +    public void g_V_hasLabelXsongsX_matchXa_name_b__a_performances_cX_selectXb_cX_count() {
 +        final Traversal<Vertex, Long> traversal = get_g_V_hasLabelXsongsX_matchXa_name_b__a_performances_cX_selectXb_cX_count();
 +        printTraversalForm(traversal);
 +        assertEquals(584, traversal.next().longValue());
 +        assertFalse(traversal.hasNext());
 +    }
 +
 +    @Test
 +    @LoadGraphWith(MODERN)
 +    public void g_V_matchXa_knows_count_bX_selectXbX() {
 +        final Traversal<Vertex, Long> traversal = get_g_V_matchXa_knows_count_bX_selectXbX();
 +        printTraversalForm(traversal);
 +        checkResults(Arrays.asList(0L, 0L, 0L, 0L, 0L, 2L), traversal);
 +        assertFalse(traversal.hasNext());
 +    }
 +
 +    @Test
 +    @LoadGraphWith(MODERN)
 +    public void g_V_matchXa_knows_b__b_created_c__a_created_cX_dedupXa_b_cX_selectXaX_byXnameX() {
 +        final Traversal<Vertex, String> traversal = get_g_V_matchXa_knows_b__b_created_c__a_created_cX_dedupXa_b_cX_selectXaX_byXnameX();
 +        printTraversalForm(traversal);
 +        assertEquals("marko", traversal.next());
 +        assertFalse(traversal.hasNext());
 +    }
 +
 +
+     @LoadGraphWith(MODERN)
+     public void g_V_notXmatchXa_age_b__a_name_cX_whereXb_eqXcXX_selectXaXX_name() {
+         final Traversal<Vertex, String> traversal = get_g_V_notXmatchXa_age_b__a_name_cX_whereXb_eqXcXX_selectXaXX_name();
+         printTraversalForm(traversal);
+         checkResults(Arrays.asList("marko", "peter", "josh", "vadas", "lop", "ripple"), traversal);
+     }
+ 
      public static class GreedyMatchTraversals extends Traversals {
          @Before
          public void setupTest() {
@@@ -804,24 -761,8 +816,29 @@@
          }
  
          @Override
 +        public Traversal<Vertex, Long> get_g_V_hasLabelXsongsX_matchXa_name_b__a_performances_cX_selectXb_cX_count() {
 +            return g.V().hasLabel("song").match(
 +                    __.as("a").values("name").as("b"),
 +                    __.as("a").values("performances").as("c")
 +            ).select("b", "c").count();
 +        }
 +
 +        @Override
 +        public Traversal<Vertex, Long> get_g_V_matchXa_knows_count_bX_selectXbX() {
 +            return g.V().match(as("a").out("knows").count().as("b")).select("b");
 +        }
 +
 +        @Override
 +        public Traversal<Vertex, String> get_g_V_matchXa_knows_b__b_created_c__a_created_cX_dedupXa_b_cX_selectXaX_byXnameX() {
 +            return g.V().match(
 +                    as("a").out("knows").as("b"),
 +                    as("b").out("created").as("c"),
 +                    as("a").out("created").as("c")).dedup("a", "b", "c").<String>select("a").by("name");
 +        }
++
++        @Override
+         public Traversal<Vertex, String> get_g_V_notXmatchXa_age_b__a_name_cX_whereXb_eqXcXX_selectXaXX_name() {
+             return g.V().not(match(__.as("a").values("age").as("b"), __.as("a").values("name").as("c")).where("b", eq("c")).select("a")).values("name");
+         }
      }
  }