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:11 UTC
[14/50] tinkerpop git commit: TINKERPOP-1784 Add all tests for
groupCount()
TINKERPOP-1784 Add all tests for groupCount()
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b63ac831
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b63ac831
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b63ac831
Branch: refs/heads/TINKERPOP-1784
Commit: b63ac831e7f2b28d6ed20b442b54906a1c19ed5d
Parents: 3a1148d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Oct 3 15:48:49 2017 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Nov 2 13:37:22 2017 -0400
----------------------------------------------------------------------
.../src/main/jython/radish/feature_steps.py | 8 +-
.../features/sideEffect/GroupCount.feature | 100 +++++++++++++++++++
2 files changed, 106 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b63ac831/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 11cc86e..16120f6 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -21,7 +21,7 @@ import json
import re
from gremlin_python.structure.graph import Graph
from gremlin_python.process.graph_traversal import __
-from gremlin_python.process.traversal import P, Scope, Column, Direction
+from gremlin_python.process.traversal import P, Scope, Column, Direction, T
from radish import given, when, then
from hamcrest import *
@@ -54,13 +54,17 @@ def add_parameter(step, param_name, param):
def translate_traversal(step):
g = step.context.g
b = {"g": g,
+ "__": __,
"Column": Column,
"Direction": Direction,
"P": P,
+ "gt": P.gt,
"Scope": Scope,
+ "T": T,
"bothE": __.bothE,
"in_": __.in_,
- "out": __.out}
+ "out": __.out,
+ "repeat": __.repeat}
if hasattr(step.context, "traversal_params"):
b.update(step.context.traversal_params)
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b63ac831/gremlin-test/features/sideEffect/GroupCount.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/sideEffect/GroupCount.feature b/gremlin-test/features/sideEffect/GroupCount.feature
index 3fb363e..b767001 100644
--- a/gremlin-test/features/sideEffect/GroupCount.feature
+++ b/gremlin-test/features/sideEffect/GroupCount.feature
@@ -37,6 +37,106 @@ Feature: Step - groupCount()
Then the result should be ordered
| m[{"ripple": 1, "lop": 3}] |
+ Scenario: g_V_outXcreatedX_groupCountXaX_byXnameX_capXaX
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().out("created").groupCount("a").by("name").cap("a")
+ """
+ When iterated to list
+ Then the result should be ordered
+ | m[{"ripple": 1, "lop": 3}] |
+
+ Scenario: g_V_outXcreatedX_name_groupCountXaX_capXaX
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().out("created").values("name").groupCount("a").cap("a")
+ """
+ When iterated to list
+ Then the result should be ordered
+ | m[{"ripple": 1, "lop": 3}] |
+
+ Scenario: g_V_repeatXout_groupCountXaX_byXnameXX_timesX2X_capXaX
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().repeat(out().groupCount("a").by("name")).times(2).cap("a")
+ """
+ When iterated to list
+ Then the result should be ordered
+ | m[{"ripple":2, "lop": 4, "josh": 1, "vadas": 1}] |
+
+ Scenario: g_V_both_groupCountXaX_byXlabelX_asXbX_barrier_whereXselectXaX_selectXsoftwareX_isXgtX2XXX_selectXbX_name
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().both().groupCount("a").by(T.label).as("b").barrier().where(__.select("a").select("software").is(gt(2))).select("b").values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | lop |
+ | lop |
+ | lop |
+ | peter |
+ | marko |
+ | marko |
+ | marko |
+ | ripple |
+ | vadas |
+ | josh |
+ | josh |
+ | josh |
+
+ Scenario: g_V_unionXoutXknowsX__outXcreatedX_inXcreatedXX_groupCount_selectXvaluesX_unfold_sum
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().union(out("knows"), out("created").in("created")).groupCount().select(Column.values).unfold().sum()
+ """
+ When iterated to list
+ Then the result should be ordered
+ | d[12] |
+
+ Scenario: g_V_hasXnoX_groupCount
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().has("no").groupCount()
+ """
+ When iterated to list
+ Then the result should be ordered
+ | m[{}] |
+
+ Scenario: g_V_hasXnoX_groupCountXaX_capXaX
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().has("no").groupCount("a").cap("a")
+ """
+ When iterated to list
+ Then the result should be ordered
+ | m[{}] |
+
+ Scenario: g_V_unionXrepeatXoutX_timesX2X_groupCountXmX_byXlangXX__repeatXinX_timesX2X_groupCountXmX_byXnameXX_capXmX
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().union(repeat(out()).times(2).groupCount("m").by("lang"),repeat(in()).times(2).groupCount("m").by("name")).cap("m")
+ """
+ When iterated to list
+ Then the result should be ordered
+ | m[{"marko": 2, "java": 2}] |
+
+ Scenario: g_V_outXcreatedX_groupCountXxX_capXxX
+ Given an unsupported test
+ Then nothing should happen because
+ """
+ The result returned is not supported under GraphSON 2.x and therefore cannot be properly asserted. More
+ specifically it has vertex keys which basically get toString()'d under GraphSON 2.x. This test can be supported
+ with GraphSON 3.x.
+ """
+
Scenario: g_V_groupCount_byXbothE_countX
Given an unsupported test
Then nothing should happen because