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 2017/11/02 17:38:03 UTC
[06/50] tinkerpop git commit: TINKERPOP-1784 Get all count() tests
working
TINKERPOP-1784 Get all count() tests working
Needed to add support for cleaning up traversal strings to more properly handle reserved python words.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e5b799b2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e5b799b2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e5b799b2
Branch: refs/heads/TINKERPOP-1784
Commit: e5b799b26df64c9a0515541cdd0c1e8436e4edb3
Parents: 81183ec
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Oct 2 14:59:59 2017 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Nov 2 13:37:22 2017 -0400
----------------------------------------------------------------------
.../src/main/jython/radish/feature_steps.py | 15 ++++---
gremlin-test/features/map/Count.feature | 45 +++++++++++++++++++-
.../gremlin/process/FeatureCoverageTest.java | 6 ++-
3 files changed, 59 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5b799b2/gremlin-python/src/main/jython/radish/feature_steps.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py b/gremlin-python/src/main/jython/radish/feature_steps.py
index 5b11ca1..11cc86e 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -25,8 +25,9 @@ from gremlin_python.process.traversal import P, Scope, Column, Direction
from radish import given, when, then
from hamcrest import *
-regex_as = re.compile(r"\.as\(")
-regex_in = re.compile(r"\.in\(")
+regex_as = re.compile(r"([(.])as\(")
+regex_in = re.compile(r"([(.])in\(")
+regex_is = re.compile(r"([(.])is\(")
@given("the {graph_name:w} graph")
@@ -57,11 +58,14 @@ def translate_traversal(step):
"Direction": Direction,
"P": P,
"Scope": Scope,
- "bothE": __.bothE}
+ "bothE": __.bothE,
+ "in_": __.in_,
+ "out": __.out}
if hasattr(step.context, "traversal_params"):
b.update(step.context.traversal_params)
+ print __translate(step.text)
step.context.traversal = eval(__translate(step.text), b)
@@ -137,5 +141,6 @@ def __table_assertion(data, result, ctx, ordered):
def __translate(traversal):
- replaced = regex_as.sub(".as_(", traversal)
- return regex_in.sub(".in_(", replaced)
+ replaced = regex_as.sub(r"\1as_(", traversal)
+ replaced = regex_is.sub(r"\1is_(", replaced)
+ return regex_in.sub(r"\1in_(", replaced)
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5b799b2/gremlin-test/features/map/Count.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/Count.feature b/gremlin-test/features/map/Count.feature
index b7f5c66..5faa975 100644
--- a/gremlin-test/features/map/Count.feature
+++ b/gremlin-test/features/map/Count.feature
@@ -65,4 +65,47 @@ Feature: Step - count()
"""
When iterated to list
Then the result should be ordered
- | d[0] |
\ No newline at end of file
+ | d[0] |
+
+ Scenario: g_V_whereXinXkknowsX_outXcreatedX_count_is_0XX_name
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().where(in("knows").out("created").count().is(0)).values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | marko |
+ | lop |
+ | ripple |
+ | peter |
+
+ Scenario: g_V_repeatXoutX_timesX8X_count
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().repeat(out()).times(8).count()
+ """
+ When iterated to list
+ Then the result should be ordered
+ | d[2505037961767380] |
+
+ Scenario: g_V_repeatXoutX_timesX5X_asXaX_outXwrittenByX_asXbX_selectXa_bX_count
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().repeat(out()).times(5).as("a").out("writtenBy").as("b").select("a", "b").count()
+ """
+ When iterated to list
+ Then the result should be ordered
+ | d[24309134024] |
+
+ Scenario: g_V_repeatXoutX_timesX3X_count
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().repeat(out()).times(3).count()
+ """
+ When iterated to list
+ Then the result should be ordered
+ | d[14465066] |
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5b799b2/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
index d3212a4..00975be 100644
--- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
+++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
@@ -19,6 +19,7 @@
package org.apache.tinkerpop.gremlin.process;
import org.apache.tinkerpop.gremlin.process.traversal.step.filter.CoinTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest;
import org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexTest;
import org.junit.Test;
@@ -53,7 +54,10 @@ public class FeatureCoverageTest {
public void shouldImplementAllProcessTestsAsFeatures() throws Exception {
// TEMPORARY while test framework is under development - all tests should ultimately be included
- final List<Class<?>> temp = Arrays.asList(CoinTest.class, VertexTest.class);
+ final List<Class<?>> temp = Arrays.asList(
+ CoinTest.class,
+ CountTest.class,
+ VertexTest.class);
final Field field = ProcessStandardSuite.class.getDeclaredField("testsToEnforce");
field.setAccessible(true);