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/11 00:56:34 UTC
[30/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for
AddEdge
TINKERPOP-1784 Added feature tests for AddEdge
Minor refactoring to test language around result counts
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/dc973fff
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/dc973fff
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/dc973fff
Branch: refs/heads/TINKERPOP-1784
Commit: dc973fff86bbc28a7e9d3a6736311fbd2d7db5ba
Parents: a898322
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Nov 1 15:36:23 2017 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Nov 10 19:55:21 2017 -0500
----------------------------------------------------------------------
.../src/main/jython/radish/feature_steps.py | 7 +-
gremlin-test/features/branch/Local.feature | 12 +-
gremlin-test/features/branch/Repeat.feature | 2 +-
gremlin-test/features/filter/Dedup.feature | 2 +-
gremlin-test/features/filter/Range.feature | 14 +-
gremlin-test/features/filter/Sample.feature | 6 +-
gremlin-test/features/map/AddEdge.feature | 307 +++++++++++++++++++
gremlin-test/features/sideEffect/Group.feature | 4 +-
8 files changed, 331 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/dc973fff/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 b8b31ce..b7050e9 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -108,13 +108,14 @@ def assert_side_effects(step, count, traversal_string):
if step.context.ignore:
return
- t = _make_traversal(step.context.g, traversal_string, {})
+ t = _make_traversal(step.context.g, traversal_string.replace('\\"', '"'),
+ step.context.traversal_params if hasattr(step.context, "traversal_params") else {})
assert_that(count, equal_to(t.count().next()))
-@then("should have a result count of {count:d}")
+@then("the result should have a count of {count:d}")
def assert_count(step, count):
- assert_that(count, equal_to(len(step.context.result)))
+ assert_that(len(step.context.result), equal_to(count))
@then("nothing should happen because")
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/dc973fff/gremlin-test/features/branch/Local.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature
index 4b33d62..fbc0dec 100644
--- a/gremlin-test/features/branch/Local.feature
+++ b/gremlin-test/features/branch/Local.feature
@@ -77,7 +77,7 @@ Feature: Step - local()
| result |
| vadas |
| josh |
- And should have a result count of 1
+ And the result should have a count of 1
Scenario: g_V_localXbothEXcreatedX_limitX1XX_otherV_name
Given the modern graph
@@ -93,7 +93,7 @@ Feature: Step - local()
| ripple |
| josh |
| peter |
- And should have a result count of 5
+ And the result should have a count of 5
Scenario: g_VX4X_localXbothEX1_createdX_limitX1XX
Given the modern graph
@@ -107,7 +107,7 @@ Feature: Step - local()
| result |
| e[josh-created->lop] |
| e[josh-created->ripple] |
- And should have a result count of 1
+ And the result should have a count of 1
Scenario: g_VX4X_localXbothEXknows_createdX_limitX1XX
Given the modern graph
@@ -122,7 +122,7 @@ Feature: Step - local()
| e[marko-knows->josh] |
| e[josh-created->lop] |
| e[josh-created->ripple] |
- And should have a result count of 1
+ And the result should have a count of 1
Scenario: g_VX4X_localXbothE_limitX1XX_otherV_name
Given the modern graph
@@ -137,7 +137,7 @@ Feature: Step - local()
| marko |
| ripple |
| lop |
- And should have a result count of 1
+ And the result should have a count of 1
Scenario: g_VX4X_localXbothE_limitX2XX_otherV_name
Given the modern graph
@@ -152,7 +152,7 @@ Feature: Step - local()
| marko |
| ripple |
| lop |
- And should have a result count of 2
+ And the result should have a count of 2
Scenario: g_V_localXinEXknowsX_limitX2XX_outV_name
Given the modern graph
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/dc973fff/gremlin-test/features/branch/Repeat.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature
index 082a3c6..1a76452 100644
--- a/gremlin-test/features/branch/Repeat.feature
+++ b/gremlin-test/features/branch/Repeat.feature
@@ -72,7 +72,7 @@ Feature: Step - repeat()
| v[lop] |
| v[josh] |
| v[vadas] |
- And should have a result count of 8
+ And the result should have a count of 8
Scenario: g_VX1X_timesX2X_repeatXoutX_name
Given the modern graph
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/dc973fff/gremlin-test/features/filter/Dedup.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/filter/Dedup.feature b/gremlin-test/features/filter/Dedup.feature
index a19a0bf..805497f 100644
--- a/gremlin-test/features/filter/Dedup.feature
+++ b/gremlin-test/features/filter/Dedup.feature
@@ -129,7 +129,7 @@ Feature: Step - dedup()
g.V().both().both().dedup().by(T.label)
"""
When iterated to list
- Then should have a result count of 2
+ Then the result should have a count of 2
Scenario: g_V_group_byXlabelX_byXbothE_weight_dedup_foldX
Given the modern graph
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/dc973fff/gremlin-test/features/filter/Range.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/filter/Range.feature b/gremlin-test/features/filter/Range.feature
index da02849..42e2f9a 100644
--- a/gremlin-test/features/filter/Range.feature
+++ b/gremlin-test/features/filter/Range.feature
@@ -30,7 +30,7 @@ Feature: Step - range()
| v[josh] |
| v[vadas] |
| v[lop] |
- And should have a result count of 2
+ And the result should have a count of 2
Scenario: g_V_localXoutE_limitX1X_inVX_limitX3X
Given the modern graph
@@ -45,7 +45,7 @@ Feature: Step - range()
| v[vadas] |
| v[lop] |
| v[ripple] |
- And should have a result count of 3
+ And the result should have a count of 3
Scenario: g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV
Given the modern graph
@@ -59,7 +59,7 @@ Feature: Step - range()
| result |
| v[lop] |
| v[ripple] |
- And should have a result count of 1
+ And the result should have a count of 1
Scenario: g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X
Given the modern graph
@@ -73,7 +73,7 @@ Feature: Step - range()
| result |
| v[lop] |
| v[ripple] |
- And should have a result count of 1
+ And the result should have a count of 1
Scenario: g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X
Given the modern graph
@@ -88,7 +88,7 @@ Feature: Step - range()
| v[marko] |
| v[josh] |
| v[peter] |
- And should have a result count of 2
+ And the result should have a count of 2
Scenario: get_g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV
Given the modern graph
@@ -103,7 +103,7 @@ Feature: Step - range()
| v[marko] |
| v[josh] |
| v[peter] |
- And should have a result count of 2
+ And the result should have a count of 2
Scenario: get_g_V_repeatXbothX_timesX3X_rangeX5_11X
Given the modern graph
@@ -120,7 +120,7 @@ Feature: Step - range()
| v[lop] |
| v[vadas] |
| v[ripple] |
- And should have a result count of 6
+ And the result should have a count of 6
Scenario: g_V_asXaX_in_asXaX_in_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_limitXlocal_2X
Given the modern graph
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/dc973fff/gremlin-test/features/filter/Sample.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/filter/Sample.feature b/gremlin-test/features/filter/Sample.feature
index 0f30527..ab3a9ae 100644
--- a/gremlin-test/features/filter/Sample.feature
+++ b/gremlin-test/features/filter/Sample.feature
@@ -24,7 +24,7 @@ Feature: Step - sample()
g.E().sample(1)
"""
When iterated to list
- Then should have a result count of 1
+ Then the result should have a count of 1
Scenario: g_E_sampleX2X_byXweightX
Given the modern graph
@@ -34,7 +34,7 @@ Feature: Step - sample()
g.E().sample(2).by("weight")
"""
When iterated to list
- Then should have a result count of 2
+ Then the result should have a count of 2
Scenario: g_V_localXoutE_sampleX1X_byXweightXX
Given the modern graph
@@ -43,7 +43,7 @@ Feature: Step - sample()
g.V().local(__.outE().sample(1).by("weight"))
"""
When iterated to list
- Then should have a result count of 3
+ Then the result should have a count of 3
Scenario: g_V_group_byXlabelX_byXbothE_weight_sampleX2X_foldX
Given the modern graph
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/dc973fff/gremlin-test/features/map/AddEdge.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/AddEdge.feature b/gremlin-test/features/map/AddEdge.feature
new file mode 100644
index 0000000..f3a55bb
--- /dev/null
+++ b/gremlin-test/features/map/AddEdge.feature
@@ -0,0 +1,307 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+Feature: Step - addE()
+
+ Scenario: g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_aX
+ Given an unsupported test
+ Then nothing should happen because
+ """
+ This test is deprecated.
+ """
+
+ Scenario: g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And using the parameter v1Id defined as "v[marko].id"
+ And the traversal of
+ """
+ g.V(v1Id).as("a").out("created").addE("createdBy").to("a")
+ """
+ When iterated to list
+ Then the result should have a count of 1
+ And the graph should return 7 for count of "g.E()"
+ And the graph should return 1 for count of "g.V(v1Id).inE()"
+
+ Scenario: g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_a_weight_2X
+ Given an unsupported test
+ Then nothing should happen because
+ """
+ This test is deprecated.
+ """
+
+ Scenario: g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And using the parameter v1Id defined as "v[marko].id"
+ And the traversal of
+ """
+ g.V(v1Id).as("a").out("created").addE("createdBy").to("a").property("weight", 2.0)
+ """
+ When iterated to list
+ Then the result should have a count of 1
+ And the graph should return 7 for count of "g.E()"
+ And the graph should return 4 for count of "g.V(v1Id).bothE()"
+ And the graph should return 1 for count of "g.V(v1Id).inE().has(\"weight\", 2.0)"
+
+ Scenario: g_withSideEffectXx__g_V_toListX_addOutEXexistsWith_x_time_nowX
+ Given an unsupported test
+ Then nothing should happen because
+ """
+ This test is marked as @Ignored in the test suite.
+ """
+
+ Scenario: g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And using the parameter v1Id defined as "v[marko].id"
+ And using the parameter v2Id defined as "v[vadas].id"
+ And using the parameter v3Id defined as "v[lop].id"
+ And using the parameter v4Id defined as "v[josh].id"
+ And using the parameter v5Id defined as "v[ripple].id"
+ And using the parameter v6Id defined as "v[peter].id"
+ And the traversal of
+ """
+ g.V().aggregate("x").as("a").select("x").unfold().addE("existsWith").to("a").property("time", "now")
+ """
+ When iterated to list
+ Then the result should have a count of 36
+ And the graph should return 42 for count of "g.E()"
+ And the graph should return 15 for count of "g.V(v1Id).bothE()"
+ And the graph should return 6 for count of "g.V(v1Id).inE(\"existsWith\")"
+ And the graph should return 6 for count of "g.V(v1Id).outE(\"existsWith\")"
+ And the graph should return 12 for count of "g.V(v1Id).bothE(\"existsWith\").has(\"time\",\"now\")"
+ And the graph should return 13 for count of "g.V(v2Id).bothE()"
+ And the graph should return 6 for count of "g.V(v2Id).inE(\"existsWith\")"
+ And the graph should return 6 for count of "g.V(v2Id).outE(\"existsWith\")"
+ And the graph should return 12 for count of "g.V(v2Id).bothE(\"existsWith\").has(\"time\",\"now\")"
+ And the graph should return 15 for count of "g.V(v3Id).bothE()"
+ And the graph should return 6 for count of "g.V(v3Id).inE(\"existsWith\")"
+ And the graph should return 6 for count of "g.V(v3Id).outE(\"existsWith\")"
+ And the graph should return 12 for count of "g.V(v3Id).bothE(\"existsWith\").has(\"time\",\"now\")"
+ And the graph should return 15 for count of "g.V(v4Id).bothE()"
+ And the graph should return 6 for count of "g.V(v4Id).inE(\"existsWith\")"
+ And the graph should return 6 for count of "g.V(v4Id).outE(\"existsWith\")"
+ And the graph should return 12 for count of "g.V(v4Id).bothE(\"existsWith\").has(\"time\",\"now\")"
+ And the graph should return 13 for count of "g.V(v5Id).bothE()"
+ And the graph should return 6 for count of "g.V(v5Id).inE(\"existsWith\")"
+ And the graph should return 6 for count of "g.V(v5Id).outE(\"existsWith\")"
+ And the graph should return 12 for count of "g.V(v5Id).bothE(\"existsWith\").has(\"time\",\"now\")"
+ And the graph should return 13 for count of "g.V(v6Id).bothE()"
+ And the graph should return 6 for count of "g.V(v6Id).inE(\"existsWith\")"
+ And the graph should return 6 for count of "g.V(v6Id).outE(\"existsWith\")"
+ And the graph should return 12 for count of "g.V(v6Id).bothE(\"existsWith\").has(\"time\",\"now\")"
+
+ Scenario: g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_selectXa_bX_addInEXa_codeveloper_b_year_2009X
+ Given an unsupported test
+ Then nothing should happen because
+ """
+ This test is deprecated.
+ """
+
+ Scenario: g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And using the parameter v1Id defined as "v[marko].id"
+ And using the parameter v2Id defined as "v[vadas].id"
+ And using the parameter v4Id defined as "v[josh].id"
+ And using the parameter v6Id defined as "v[peter].id"
+ And the traversal of
+ """
+ g.V().as("a").out("created").in("created").where(P.neq("a")).as("b").addE("codeveloper").from("a").to("b").property("year", 2009)
+ """
+ When iterated to list
+ Then the result should have a count of 6
+ And the graph should return 12 for count of "g.E()"
+ And the graph should return 7 for count of "g.V(v1Id).bothE()"
+ And the graph should return 2 for count of "g.V(v1Id).inE(\"codeveloper\")"
+ And the graph should return 2 for count of "g.V(v1Id).outE(\"codeveloper\")"
+ And the graph should return 4 for count of "g.V(v1Id).bothE(\"codeveloper\").has(\"year\",2009)"
+ And the graph should return 1 for count of "g.V(v2Id).bothE()"
+ And the graph should return 7 for count of "g.V(v4Id).bothE()"
+ And the graph should return 2 for count of "g.V(v4Id).inE(\"codeveloper\")"
+ And the graph should return 2 for count of "g.V(v4Id).outE(\"codeveloper\")"
+ And the graph should return 4 for count of "g.V(v4Id).bothE(\"codeveloper\").has(\"year\",2009)"
+ And the graph should return 5 for count of "g.V(v6Id).bothE()"
+ And the graph should return 2 for count of "g.V(v6Id).inE(\"codeveloper\")"
+ And the graph should return 2 for count of "g.V(v6Id).outE(\"codeveloper\")"
+ And the graph should return 4 for count of "g.V(v6Id).bothE(\"codeveloper\").has(\"year\",2009)"
+
+ Scenario: g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And using the parameter v1Id defined as "v[marko].id"
+ And using the parameter v2Id defined as "v[vadas].id"
+ And using the parameter v3Id defined as "v[lop].id"
+ And using the parameter v4Id defined as "v[josh].id"
+ And using the parameter v5Id defined as "v[ripple].id"
+ And using the parameter v6Id defined as "v[peter].id"
+ And the traversal of
+ """
+ g.V().as("a").in("created").addE("createdBy").from("a").property("year", 2009).property("acl", "public")
+ """
+ When iterated to list
+ Then the result should have a count of 4
+ And the graph should return 10 for count of "g.E()"
+ And the graph should return 4 for count of "g.V(v1Id).bothE()"
+ And the graph should return 1 for count of "g.V(v1Id).inE(\"createdBy\")"
+ And the graph should return 0 for count of "g.V(v1Id).outE(\"createdBy\")"
+ And the graph should return 1 for count of "g.V(v1Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+ And the graph should return 1 for count of "g.V(v2Id).bothE()"
+ And the graph should return 6 for count of "g.V(v3Id).bothE()"
+ And the graph should return 0 for count of "g.V(v3Id).inE(\"createdBy\")"
+ And the graph should return 3 for count of "g.V(v3Id).outE(\"createdBy\")"
+ And the graph should return 3 for count of "g.V(v3Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+ And the graph should return 5 for count of "g.V(v4Id).bothE()"
+ And the graph should return 2 for count of "g.V(v4Id).inE(\"createdBy\")"
+ And the graph should return 0 for count of "g.V(v4Id).outE(\"createdBy\")"
+ And the graph should return 2 for count of "g.V(v4Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+ And the graph should return 2 for count of "g.V(v5Id).bothE()"
+ And the graph should return 0 for count of "g.V(v5Id).inE(\"createdBy\")"
+ And the graph should return 1 for count of "g.V(v5Id).outE(\"createdBy\")"
+ And the graph should return 1 for count of "g.V(v5Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+ And the graph should return 2 for count of "g.V(v6Id).bothE()"
+ And the graph should return 1 for count of "g.V(v6Id).inE(\"createdBy\")"
+ And the graph should return 0 for count of "g.V(v6Id).outE(\"createdBy\")"
+ And the graph should return 1 for count of "g.V(v6Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+
+ Scenario: g_V_asXaX_inXcreatedX_addInEXcreatedBy_a_year_2009_acl_publicX
+ Given an unsupported test
+ Then nothing should happen because
+ """
+ This test is deprecated.
+ """
+
+ Scenario: g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X
+ Given the empty graph
+ And the graph initializer of
+ """
+ g.addV("person").property(T.id, 1).property("name", "marko").property("age", 29).as("marko").
+ addV("person").property(T.id, 2).property("name", "vadas").property("age", 27).as("vadas").
+ addV("software").property(T.id, 3).property("name", "lop").property("lang", "java").as("lop").
+ addV("person").property(T.id, 4).property("name","josh").property("age", 32).as("josh").
+ addV("software").property(T.id, 5).property("name", "ripple").property("lang", "java").as("ripple").
+ addV("person").property(T.id, 6).property("name", "peter").property("age", 35).as('peter').
+ addE("knows").from("marko").to("vadas").property(T.id, 7).property("weight", 0.5).
+ addE("knows").from("marko").to("josh").property(T.id, 8).property("weight", 1.0).
+ addE("created").from("marko").to("lop").property(T.id, 9).property("weight", 0.4).
+ addE("created").from("josh").to("ripple").property(T.id, 10).property("weight", 1.0).
+ addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
+ addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
+ """
+ And using the parameter v1 defined as "v[marko]"
+ And using the parameter v6 defined as "v[peter]"
+ And the traversal of
+ """
+ g.withSideEffect("b", v6).V(v1).addE("knows").to("b").property("weight", 0.5)
+ """
+ When iterated to list
+ Then the result should have a count of 1
+ And the graph should return 7 for count of "g.E()"
+ And the graph should return 4 for count of "g.V(v1).bothE()"
+ And the graph should return 0 for count of "g.V(v1).inE(\"knows\")"
+ And the graph should return 3 for count of "g.V(v1).outE(\"knows\")"
+ And the graph should return 2 for count of "g.V(v1).bothE(\"knows\").has(\"weight\",0.5)"
+ And the graph should return 2 for count of "g.V(v6).bothE()"
+ And the graph should return 1 for count of "g.V(v6).inE(\"knows\")"
+ And the graph should return 0 for count of "g.V(v6).outE(\"knows\")"
+ And the graph should return 1 for count of "g.V(v6).bothE(\"knows\").has(\"weight\",0.5)"
+
+ Scenario: g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX
+ Given the empty graph
+ And the traversal of
+ """
+ g.addV().as("first").repeat(__.addE("next").to(__.addV()).inV()).times(5).addE("next").to(__.select("first"))
+ """
+ When iterated to list
+ Then the result should have a count of 1
+ And the graph should return 6 for count of "g.V()"
+ And the graph should return 6 for count of "g.E()"
+ And the graph should return 6 for count of "g.E().hasLabel(\"next\")"
+ And the graph should return 2 for count of "g.V().limit(1).bothE()"
+ And the graph should return 1 for count of "g.V().limit(1).inE()"
+ And the graph should return 1 for count of "g.V().limit(1).outE()"
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/dc973fff/gremlin-test/features/sideEffect/Group.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/sideEffect/Group.feature b/gremlin-test/features/sideEffect/Group.feature
index 9ba57ec..ac89e7d 100644
--- a/gremlin-test/features/sideEffect/Group.feature
+++ b/gremlin-test/features/sideEffect/Group.feature
@@ -169,7 +169,7 @@ Feature: Step - group()
g.V().hasLabel("song").group().by("name").by(__.properties().groupCount().by(T.label))
"""
When iterated next
- Then should have a result count of 584
+ Then the result should have a count of 584
Scenario: g_V_hasLabelXsongX_groupXaX_byXnameX_byXproperties_groupCount_byXlabelXX_out_capXaX
Given the grateful graph
@@ -178,7 +178,7 @@ Feature: Step - group()
g.V().hasLabel("song").group("a").by("name").by(__.properties().groupCount().by(T.label)).out().cap("a")
"""
When iterated next
- Then should have a result count of 584
+ Then the result should have a count of 584
Scenario: g_V_repeatXunionXoutXknowsX_groupXaX_byXageX__outXcreatedX_groupXbX_byXnameX_byXcountXX_groupXaX_byXnameXX_timesX2X_capXa_bX
Given an unsupported test