[2/2] tinkerpop git commit: Merge branch 'tp32'

2017-11-22 Thread spmallette
Merge branch 'tp32'

Conflicts:
gremlin-python/src/main/jython/radish/terrain.py


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

Branch: refs/heads/master
Commit: 7463b3ae3b273d11683bd698705c877ccca34227
Parents: 6a663fe 691ee9b
Author: Stephen Mallette 
Authored: Wed Nov 22 14:15:44 2017 -0500
Committer: Stephen Mallette 
Committed: Wed Nov 22 14:15:44 2017 -0500

--
 gremlin-python/src/main/jython/radish/terrain.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7463b3ae/gremlin-python/src/main/jython/radish/terrain.py
--



tinkerpop git commit: Used a closure to solve concat issue in feature test setup

2017-11-22 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp32 78a1095bc -> 691ee9b26


Used a closure to solve concat issue in feature test setup

Ended up going this route on the master branch and decided to backport it to 
tp32 CTR


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

Branch: refs/heads/tp32
Commit: 691ee9b269765aea86ddccc953cfa98f8f52fc0b
Parents: 78a1095
Author: Stephen Mallette 
Authored: Wed Nov 22 14:10:28 2017 -0500
Committer: Stephen Mallette 
Committed: Wed Nov 22 14:10:28 2017 -0500

--
 gremlin-python/src/main/jython/radish/terrain.py | 18 ++
 1 file changed, 2 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/691ee9b2/gremlin-python/src/main/jython/radish/terrain.py
--
diff --git a/gremlin-python/src/main/jython/radish/terrain.py 
b/gremlin-python/src/main/jython/radish/terrain.py
index 5897852..0c749eb 100644
--- a/gremlin-python/src/main/jython/radish/terrain.py
+++ b/gremlin-python/src/main/jython/radish/terrain.py
@@ -95,20 +95,6 @@ def __create_lookup_e(remote):
 
 # hold a map of the "name"/edge for use in asserting results - "name" in 
this context is in the form of
 # outgoingV-label->incomingV
-projection_of_edges = g.E().group(). \
-by(project("o", "l", "i").
-   by(outV().values("name")).
-   by(label()).
-   by(inV().values("name"))). \
+return g.E().group(). \
+by(lambda: ("it.outVertex().value('name') + '-' + it.label() + '->' + 
it.inVertex().value('name')", "gremlin-groovy")). \
 by(tail()).next()
-edges = {}
-
-# in GraphSON 3.0 the "key" will be a dictionary and this can work more 
nicely - right now it's stuck as
-# a string and has to be parsed
-for key, value in projection_of_edges.items():
-o = re.search("o=(.+?)[,\}]", key).group(1)
-l = re.search("l=(.+?)[,\}]", key).group(1)
-i = re.search("i=(.+?)[,\}]", key).group(1)
-edges[o + "-" + l + "->" + i] = value
-
-return edges



[1/2] tinkerpop git commit: Used a closure to solve concat issue in feature test setup

2017-11-22 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/master 6a663fe2e -> 7463b3ae3


Used a closure to solve concat issue in feature test setup

Ended up going this route on the master branch and decided to backport it to 
tp32 CTR


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

Branch: refs/heads/master
Commit: 691ee9b269765aea86ddccc953cfa98f8f52fc0b
Parents: 78a1095
Author: Stephen Mallette 
Authored: Wed Nov 22 14:10:28 2017 -0500
Committer: Stephen Mallette 
Committed: Wed Nov 22 14:10:28 2017 -0500

--
 gremlin-python/src/main/jython/radish/terrain.py | 18 ++
 1 file changed, 2 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/691ee9b2/gremlin-python/src/main/jython/radish/terrain.py
--
diff --git a/gremlin-python/src/main/jython/radish/terrain.py 
b/gremlin-python/src/main/jython/radish/terrain.py
index 5897852..0c749eb 100644
--- a/gremlin-python/src/main/jython/radish/terrain.py
+++ b/gremlin-python/src/main/jython/radish/terrain.py
@@ -95,20 +95,6 @@ def __create_lookup_e(remote):
 
 # hold a map of the "name"/edge for use in asserting results - "name" in 
this context is in the form of
 # outgoingV-label->incomingV
-projection_of_edges = g.E().group(). \
-by(project("o", "l", "i").
-   by(outV().values("name")).
-   by(label()).
-   by(inV().values("name"))). \
+return g.E().group(). \
+by(lambda: ("it.outVertex().value('name') + '-' + it.label() + '->' + 
it.inVertex().value('name')", "gremlin-groovy")). \
 by(tail()).next()
-edges = {}
-
-# in GraphSON 3.0 the "key" will be a dictionary and this can work more 
nicely - right now it's stuck as
-# a string and has to be parsed
-for key, value in projection_of_edges.items():
-o = re.search("o=(.+?)[,\}]", key).group(1)
-l = re.search("l=(.+?)[,\}]", key).group(1)
-i = re.search("i=(.+?)[,\}]", key).group(1)
-edges[o + "-" + l + "->" + i] = value
-
-return edges



tinkerpop git commit: Removed line jump from debugging CTR

2017-11-22 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/master 04c522018 -> 6a663fe2e


Removed line jump from debugging CTR


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

Branch: refs/heads/master
Commit: 6a663fe2ed52d1d321230f642bc9f516f0076ea9
Parents: 04c5220
Author: Stephen Mallette 
Authored: Wed Nov 22 13:49:56 2017 -0500
Committer: Stephen Mallette 
Committed: Wed Nov 22 13:49:56 2017 -0500

--
 gremlin-python/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6a663fe2/gremlin-python/pom.xml
--
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 27b3221..6ef6228 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -449,7 +449,7 @@ limitations under the License.
 
 
- 
+ 
 
 
 



[47/50] tinkerpop git commit: TINKERPOP-1784 Fixed data type in fold feature test

2017-11-22 Thread spmallette
TINKERPOP-1784 Fixed data type in fold feature test


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

Branch: refs/heads/master
Commit: 11a180f9ba4ed836270395901a553d57de8884fa
Parents: 7231b5a
Author: Stephen Mallette 
Authored: Mon Nov 20 11:52:12 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-test/features/map/Fold.feature | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/11a180f9/gremlin-test/features/map/Fold.feature
--
diff --git a/gremlin-test/features/map/Fold.feature 
b/gremlin-test/features/map/Fold.feature
index 83f4be4..c711e1d 100644
--- a/gremlin-test/features/map/Fold.feature
+++ b/gremlin-test/features/map/Fold.feature
@@ -53,5 +53,5 @@ Feature: Step - fold()
 When iterated to list
 Then the result should be unordered
   | result |
-  | d[123].l |
+  | d[123].i |
 



[50/50] tinkerpop git commit: Merge branch 'tp32'

2017-11-22 Thread spmallette
Merge branch 'tp32'

Conflicts:

gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/driver/remote/gremlin-server-integration.yaml

gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-integration.yaml

gremlin-server/src/test/resources/org/apache/tinkerpop/gremlin/server/gremlin-server-performance.yaml
gremlin-server/src/test/scripts/test-server-start.groovy

gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/OptionalTest.java


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

Branch: refs/heads/master
Commit: 04c52201857a92ccfdd7e8d2e19e4aceaae9d76a
Parents: 65259d2 78a1095
Author: Stephen Mallette 
Authored: Wed Nov 22 13:47:48 2017 -0500
Committer: Stephen Mallette 
Committed: Wed Nov 22 13:47:48 2017 -0500

--
 CHANGELOG.asciidoc  |   2 +
 .../Driver/Remote/DriverRemoteConnection.cs |  16 +-
 .../GraphTraversalTests.cs  |   8 +-
 .../RemoteConnectionFactory.cs  |   8 +-
 gremlin-dotnet/test/pom.xml |   6 +-
 gremlin-python/pom.xml  |  21 +-
 .../src/main/jython/radish/feature_steps.py | 230 +
 .../src/main/jython/radish/terrain.py   | 101 
 gremlin-python/src/main/jython/setup.py |   4 +-
 .../remote/gremlin-server-integration.yaml  |   3 -
 .../server/gremlin-server-integration.yaml  |   3 -
 .../src/test/scripts/generate-all.groovy|  40 ++
 .../src/test/scripts/test-server-start.groovy   |  26 +-
 .../test/scripts/tinkergraph-empty.properties   |  20 +
 gremlin-test/features/branch/Branch.feature |  92 
 gremlin-test/features/branch/Choose.feature | 124 +
 gremlin-test/features/branch/Local.feature  | 183 +++
 gremlin-test/features/branch/Optional.feature   |  81 
 gremlin-test/features/branch/Repeat.feature | 230 +
 gremlin-test/features/branch/Union.feature  | 140 ++
 gremlin-test/features/filter/And.feature|  69 +++
 gremlin-test/features/filter/Coin.feature   |  43 ++
 gremlin-test/features/filter/CyclicPath.feature |  52 ++
 gremlin-test/features/filter/Dedup.feature  | 237 +
 gremlin-test/features/filter/Drop.feature   |  63 +++
 gremlin-test/features/filter/Filter.feature | 111 +
 gremlin-test/features/filter/Has.feature|  45 ++
 gremlin-test/features/filter/Is.feature |  75 +++
 gremlin-test/features/filter/Or.feature |  62 +++
 gremlin-test/features/filter/Range.feature  | 171 +++
 gremlin-test/features/filter/Sample.feature |  75 +++
 gremlin-test/features/filter/SimplePath.feature |  72 +++
 gremlin-test/features/filter/Tail.feature   | 145 ++
 gremlin-test/features/filter/Where.feature  | 105 
 gremlin-test/features/map/AddEdge.feature   | 307 
 gremlin-test/features/map/AddVertex.feature | 147 ++
 gremlin-test/features/map/Coalesce.feature  |  78 +++
 gremlin-test/features/map/Constant.feature  |  52 ++
 gremlin-test/features/map/Count.feature | 125 +
 gremlin-test/features/map/FlatMap.feature   |  35 ++
 gremlin-test/features/map/Fold.feature  |  57 +++
 gremlin-test/features/map/Graph.feature | 109 +
 gremlin-test/features/map/Loops.feature |  68 +++
 gremlin-test/features/map/Map.feature   | 108 +
 gremlin-test/features/map/Match.feature |  80 
 gremlin-test/features/map/Max.feature   |  51 ++
 gremlin-test/features/map/Mean.feature  |  40 ++
 gremlin-test/features/map/Min.feature   |  51 ++
 gremlin-test/features/map/Order.feature | 132 ++
 gremlin-test/features/map/Path.feature  | 105 
 gremlin-test/features/map/Project.feature   |  55 +++
 gremlin-test/features/map/Properties.feature|  68 +++
 gremlin-test/features/map/Select.feature| 324 +
 gremlin-test/features/map/Sum.feature   |  40 ++
 gremlin-test/features/map/Unfold.feature|  76 +++
 gremlin-test/features/map/ValueMap.feature  |  62 +++
 gremlin-test/features/map/Vertex.feature| 475 +++
 .../features/sideEffect/Aggregate.feature   |  80 
 gremlin-test/features/sideEffect/Group.feature  | 244 ++
 .../features/sideEffect/GroupCount.feature  | 187 
 gremlin-test/features/sideEffect/Inject.feature |  51 ++
 gremlin-test/features/sideEffect/Sack.feature   |  71 +++
 .../features/sideEffect/SideEffectCap.feature   |  38 ++
 

[17/50] tinkerpop git commit: TINKERPOP-1784 Added sample() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added sample() feature tests


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

Branch: refs/heads/tp32
Commit: d11787a7e1177491cb126def43d1c101485d1e22
Parents: 22e113d
Author: Stephen Mallette 
Authored: Tue Oct 24 12:35:59 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/Sample.feature | 75 
 1 file changed, 75 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d11787a7/gremlin-test/features/filter/Sample.feature
--
diff --git a/gremlin-test/features/filter/Sample.feature 
b/gremlin-test/features/filter/Sample.feature
new file mode 100644
index 000..0f30527
--- /dev/null
+++ b/gremlin-test/features/filter/Sample.feature
@@ -0,0 +1,75 @@
+# 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 - sample()
+
+  Scenario: g_E_sampleX1X
+Given the modern graph
+And the traversal of
+  """
+  g.E().sample(1)
+  """
+When iterated to list
+Then should have a result count of 1
+
+  Scenario: g_E_sampleX2X_byXweightX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.E().sample(2).by("weight")
+  """
+When iterated to list
+Then should have a result count of 2
+
+  Scenario: g_V_localXoutE_sampleX1X_byXweightXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().local(__.outE().sample(1).by("weight"))
+  """
+When iterated to list
+Then should have a result count of 3
+
+  Scenario: g_V_group_byXlabelX_byXbothE_weight_sampleX2X_foldX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().group().by(T.label).by(__.bothE().values("weight").sample(2).fold())
+  """
+When iterated to list
+Then nothing should happen because
+  """
+  The return value of this traversal is a map of samples weights in a list 
for each key which makes it
+  especially hard to assert with the current test language established and 
the non-deterministic outcomes
+  of sample().
+  """
+
+  Scenario: g_V_group_byXlabelX_byXbothE_weight_fold_sampleXlocal_5XX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().group().by(T.label).by(__.bothE().values("weight").fold().sample(Scope.local,
 5))
+  """
+When iterated to list
+Then nothing should happen because
+  """
+  The return value of this traversal is a map of samples weights in a list 
for each key which makes it
+  especially hard to assert with the current test language established and 
the non-deterministic outcomes
+  of sample().
+  """
+



[13/50] tinkerpop git commit: TINKERPOP-1784 Added sample() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added sample() feature tests


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

Branch: refs/heads/master
Commit: d11787a7e1177491cb126def43d1c101485d1e22
Parents: 22e113d
Author: Stephen Mallette 
Authored: Tue Oct 24 12:35:59 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/Sample.feature | 75 
 1 file changed, 75 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d11787a7/gremlin-test/features/filter/Sample.feature
--
diff --git a/gremlin-test/features/filter/Sample.feature 
b/gremlin-test/features/filter/Sample.feature
new file mode 100644
index 000..0f30527
--- /dev/null
+++ b/gremlin-test/features/filter/Sample.feature
@@ -0,0 +1,75 @@
+# 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 - sample()
+
+  Scenario: g_E_sampleX1X
+Given the modern graph
+And the traversal of
+  """
+  g.E().sample(1)
+  """
+When iterated to list
+Then should have a result count of 1
+
+  Scenario: g_E_sampleX2X_byXweightX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.E().sample(2).by("weight")
+  """
+When iterated to list
+Then should have a result count of 2
+
+  Scenario: g_V_localXoutE_sampleX1X_byXweightXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().local(__.outE().sample(1).by("weight"))
+  """
+When iterated to list
+Then should have a result count of 3
+
+  Scenario: g_V_group_byXlabelX_byXbothE_weight_sampleX2X_foldX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().group().by(T.label).by(__.bothE().values("weight").sample(2).fold())
+  """
+When iterated to list
+Then nothing should happen because
+  """
+  The return value of this traversal is a map of samples weights in a list 
for each key which makes it
+  especially hard to assert with the current test language established and 
the non-deterministic outcomes
+  of sample().
+  """
+
+  Scenario: g_V_group_byXlabelX_byXbothE_weight_fold_sampleXlocal_5XX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().group().by(T.label).by(__.bothE().values("weight").fold().sample(Scope.local,
 5))
+  """
+When iterated to list
+Then nothing should happen because
+  """
+  The return value of this traversal is a map of samples weights in a list 
for each key which makes it
+  especially hard to assert with the current test language established and 
the non-deterministic outcomes
+  of sample().
+  """
+



[48/50] tinkerpop git commit: TINKERPOP-1784 Introduced types for all numerics of the feature test

2017-11-22 Thread spmallette
TINKERPOP-1784 Introduced types for all numerics of the feature test


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

Branch: refs/heads/tp32
Commit: 014d552fac9174c0fc3b0d6c3174269f7386f25c
Parents: 5286c20
Author: Stephen Mallette 
Authored: Fri Nov 17 08:37:17 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  2 +-
 gremlin-test/features/branch/Branch.feature | 24 ++--
 gremlin-test/features/branch/Local.feature  | 22 +-
 gremlin-test/features/branch/Repeat.feature |  6 ++---
 gremlin-test/features/branch/Union.feature  | 22 +-
 gremlin-test/features/filter/Dedup.feature  |  4 ++--
 gremlin-test/features/filter/Is.feature | 10 
 gremlin-test/features/filter/Tail.feature   |  2 +-
 gremlin-test/features/map/Coalesce.feature  |  2 +-
 gremlin-test/features/map/Constant.feature  | 12 +-
 gremlin-test/features/map/Count.feature | 16 ++---
 gremlin-test/features/map/Fold.feature  |  2 +-
 gremlin-test/features/map/Map.feature   | 12 +-
 gremlin-test/features/map/Match.feature | 12 +-
 gremlin-test/features/map/Max.feature   |  6 ++---
 gremlin-test/features/map/Mean.feature  |  4 ++--
 gremlin-test/features/map/Min.feature   |  6 ++---
 gremlin-test/features/map/Order.feature | 12 +-
 gremlin-test/features/map/Path.feature  | 10 
 gremlin-test/features/map/Project.feature   |  8 +++
 gremlin-test/features/map/Properties.feature| 16 ++---
 gremlin-test/features/map/Select.feature| 20 
 gremlin-test/features/map/Sum.feature   |  4 ++--
 .../features/sideEffect/Aggregate.feature   |  8 +++
 gremlin-test/features/sideEffect/Group.feature  | 18 +++
 .../features/sideEffect/GroupCount.feature  | 14 ++--
 gremlin-test/features/sideEffect/Inject.feature |  8 +++
 gremlin-test/features/sideEffect/Sack.feature   |  6 ++---
 gremlin-test/features/sideEffect/Store.feature  | 16 ++---
 29 files changed, 152 insertions(+), 152 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/014d552f/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 94b0c77..9f00535 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -136,7 +136,7 @@ def _convert(val, ctx):
 return list(map((lambda x: _convert(x, ctx)), val[2:-1].split(",")))
 elif isinstance(val, str) and re.match("^s\[.*\]$", val): # parse 
set
 return set(map((lambda x: _convert(x, ctx)), val[2:-1].split(",")))
-elif isinstance(val, str) and re.match("^d\[.*\]$", val): # parse 
numeric
+elif isinstance(val, str) and re.match("^d\[.*\][ilfd]$", val):   # parse 
numeric
 return float(val[2:-1]) if val[2:-1].__contains__(".") else 
long(val[2:-1])
 elif isinstance(val, str) and re.match("^v\[.*\]\.id$", val): # parse 
vertex id
 return ctx.lookup_v["modern"][val[2:-4]].id

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/014d552f/gremlin-test/features/branch/Branch.feature
--
diff --git a/gremlin-test/features/branch/Branch.feature 
b/gremlin-test/features/branch/Branch.feature
index b8690c6..6ee261f 100644
--- a/gremlin-test/features/branch/Branch.feature
+++ b/gremlin-test/features/branch/Branch.feature
@@ -35,10 +35,10 @@ Feature: Step - branch()
   | java |
   | lop |
   | ripple |
-  | d[29] |
-  | d[27] |
-  | d[32] |
-  | d[35] |
+  | d[29].i |
+  | d[27].i |
+  | d[32].i |
+  | d[35].i |
 
   Scenario: 
g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX
 Given the modern graph
@@ -57,10 +57,10 @@ Feature: Step - branch()
   | java |
   | lop |
   | ripple |
-  | d[29] |
-  | d[27] |
-  | d[32] |
-  | d[35] |
+  | d[29].i |
+  | d[27].i |
+  | d[32].i |
+  | d[35].i |
 
   Scenario: 
g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX
 Given the modern graph
@@ -80,10 +80,10 

[50/50] tinkerpop git commit: Merge branch 'TINKERPOP-1784' into tp32

2017-11-22 Thread spmallette
Merge branch 'TINKERPOP-1784' into tp32


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

Branch: refs/heads/tp32
Commit: 78a1095bc768c5aa623182b5368ff5a404884673
Parents: 0f27197 2819dba
Author: Stephen Mallette 
Authored: Wed Nov 22 08:12:45 2017 -0500
Committer: Stephen Mallette 
Committed: Wed Nov 22 08:12:45 2017 -0500

--
 CHANGELOG.asciidoc  |   2 +
 .../Driver/Remote/DriverRemoteConnection.cs |  16 +-
 .../GraphTraversalTests.cs  |   8 +-
 .../RemoteConnectionFactory.cs  |   8 +-
 gremlin-dotnet/test/pom.xml |   6 +-
 gremlin-python/pom.xml  |  21 +-
 .../src/main/jython/radish/feature_steps.py | 230 +
 .../src/main/jython/radish/terrain.py   | 114 +
 gremlin-python/src/main/jython/setup.py |   4 +-
 .../remote/gremlin-server-integration.yaml  |   7 +-
 .../server/gremlin-server-integration.yaml  |   7 +-
 .../server/gremlin-server-performance.yaml  |   7 +-
 .../src/test/scripts/generate-all.groovy|  40 ++
 .../src/test/scripts/test-server-start.groovy   |  24 +-
 .../test/scripts/tinkergraph-empty.properties   |  20 +
 gremlin-test/features/branch/Branch.feature |  92 
 gremlin-test/features/branch/Choose.feature | 124 +
 gremlin-test/features/branch/Local.feature  | 183 +++
 gremlin-test/features/branch/Optional.feature   |  81 
 gremlin-test/features/branch/Repeat.feature | 230 +
 gremlin-test/features/branch/Union.feature  | 140 ++
 gremlin-test/features/filter/And.feature|  69 +++
 gremlin-test/features/filter/Coin.feature   |  43 ++
 gremlin-test/features/filter/CyclicPath.feature |  52 ++
 gremlin-test/features/filter/Dedup.feature  | 237 +
 gremlin-test/features/filter/Drop.feature   |  63 +++
 gremlin-test/features/filter/Filter.feature | 111 +
 gremlin-test/features/filter/Has.feature|  45 ++
 gremlin-test/features/filter/Is.feature |  75 +++
 gremlin-test/features/filter/Or.feature |  62 +++
 gremlin-test/features/filter/Range.feature  | 228 +
 gremlin-test/features/filter/Sample.feature |  75 +++
 gremlin-test/features/filter/SimplePath.feature |  72 +++
 gremlin-test/features/filter/Tail.feature   | 166 +++
 gremlin-test/features/filter/Where.feature  | 105 
 gremlin-test/features/map/AddEdge.feature   | 307 
 gremlin-test/features/map/AddVertex.feature | 147 ++
 gremlin-test/features/map/Coalesce.feature  |  78 +++
 gremlin-test/features/map/Constant.feature  |  52 ++
 gremlin-test/features/map/Count.feature | 125 +
 gremlin-test/features/map/FlatMap.feature   |  35 ++
 gremlin-test/features/map/Fold.feature  |  57 +++
 gremlin-test/features/map/Graph.feature | 109 +
 gremlin-test/features/map/Loops.feature |  68 +++
 gremlin-test/features/map/Map.feature   | 108 +
 gremlin-test/features/map/Match.feature |  80 
 gremlin-test/features/map/Max.feature   |  51 ++
 gremlin-test/features/map/Mean.feature  |  40 ++
 gremlin-test/features/map/Min.feature   |  51 ++
 gremlin-test/features/map/Order.feature | 132 ++
 gremlin-test/features/map/Path.feature  | 105 
 gremlin-test/features/map/Project.feature   |  55 +++
 gremlin-test/features/map/Properties.feature|  68 +++
 gremlin-test/features/map/Select.feature| 324 +
 gremlin-test/features/map/Sum.feature   |  40 ++
 gremlin-test/features/map/Unfold.feature|  76 +++
 gremlin-test/features/map/ValueMap.feature  |  62 +++
 gremlin-test/features/map/Vertex.feature| 475 +++
 .../features/sideEffect/Aggregate.feature   |  80 
 gremlin-test/features/sideEffect/Group.feature  | 244 ++
 .../features/sideEffect/GroupCount.feature  | 187 
 gremlin-test/features/sideEffect/Inject.feature |  51 ++
 gremlin-test/features/sideEffect/Sack.feature   |  71 +++
 .../features/sideEffect/SideEffectCap.feature   |  38 ++
 gremlin-test/features/sideEffect/Store.feature  |  87 
 .../traversal/step/branch/OptionalTest.java |   4 +-
 .../step/sideEffect/GroupCountTest.java |   2 +-
 .../gremlin/process/FeatureCoverageTest.java| 131 +
 68 files changed, 6270 insertions(+), 37 deletions(-)
--




[33/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for order()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for order()


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

Branch: refs/heads/tp32
Commit: 5045a56c208b5e069dedeb330ab6bef092419880
Parents: 754b7f5
Author: Stephen Mallette 
Authored: Fri Nov 10 14:15:28 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Order.feature | 132 +++
 1 file changed, 132 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5045a56c/gremlin-test/features/map/Order.feature
--
diff --git a/gremlin-test/features/map/Order.feature 
b/gremlin-test/features/map/Order.feature
new file mode 100644
index 000..9005465
--- /dev/null
+++ b/gremlin-test/features/map/Order.feature
@@ -0,0 +1,132 @@
+# 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 - order()
+
+  Scenario: g_V_name_order
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order()
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | josh |
+  | lop  |
+  | marko |
+  | peter |
+  | ripple |
+  | vadas  |
+
+  Scenario: g_V_name_order_byXa1_b1X_byXb2_a2X
+Given the modern graph
+And using the parameter l1 defined as "c[a, b -> a.substring(1, 
2).compareTo(b.substring(1, 2))]"
+And using the parameter l2 defined as "c[a, b -> b.substring(2, 
3).compareTo(a.substring(2, 3))]"
+And the traversal of
+  """
+  g.V().values("name").order().by(l1).by(l2)
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | marko  |
+  | vadas  |
+  | peter  |
+  | ripple |
+  | josh   |
+  | lop|
+
+  Scenario: g_V_order_byXname_incrX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().order().by("name", Order.incr).values("name")
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | josh |
+  | lop  |
+  | marko |
+  | peter |
+  | ripple |
+  | vadas  |
+
+  Scenario: g_V_order_byXnameX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().order().by("name").values("name")
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | josh |
+  | lop  |
+  | marko |
+  | peter |
+  | ripple |
+  | vadas  |
+
+  Scenario: g_V_outE_order_byXweight_decrX_weight
+Given the modern graph
+And the traversal of
+  """
+  g.V().outE().order().by("weight", Order.decr).values("weight")
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | d[1.0] |
+  | d[1.0] |
+  | d[0.5] |
+  | d[0.4] |
+  | d[0.4] |
+  | d[0.2] |
+
+  Scenario: g_V_order_byXname_a1_b1X_byXname_b2_a2X_name
+Given the modern graph
+And using the parameter l1 defined as "c[a, b -> a.substring(1, 
2).compareTo(b.substring(1, 2))]"
+And using the parameter l2 defined as "c[a, b -> b.substring(2, 
3).compareTo(a.substring(2, 3))]"
+And the traversal of
+  """
+  g.V().order().by("name", l1).by("name", l2).values("name")
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | marko  |
+  | vadas  |
+  | peter  |
+  | ripple |
+  | josh   |
+  | lop|
+
+  Scenario: g_V_asXaX_outXcreatedX_asXbX_order_byXshuffleX_selectXa_bX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().as("a").out("created").as("b").order().by(Order.shuffle).select("a", "b")
+  """
+When iterated to list
+Then the result should be unordered
+  | result 

[41/50] tinkerpop git commit: TINKERPOP-1784 Fixed data type in fold feature test

2017-11-22 Thread spmallette
TINKERPOP-1784 Fixed data type in fold feature test


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

Branch: refs/heads/tp32
Commit: 11a180f9ba4ed836270395901a553d57de8884fa
Parents: 7231b5a
Author: Stephen Mallette 
Authored: Mon Nov 20 11:52:12 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-test/features/map/Fold.feature | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/11a180f9/gremlin-test/features/map/Fold.feature
--
diff --git a/gremlin-test/features/map/Fold.feature 
b/gremlin-test/features/map/Fold.feature
index 83f4be4..c711e1d 100644
--- a/gremlin-test/features/map/Fold.feature
+++ b/gremlin-test/features/map/Fold.feature
@@ -53,5 +53,5 @@ Feature: Step - fold()
 When iterated to list
 Then the result should be unordered
   | result |
-  | d[123].l |
+  | d[123].i |
 



[49/50] tinkerpop git commit: TINKERPOP-1784 Fixed configuration for secure test server

2017-11-22 Thread spmallette
TINKERPOP-1784 Fixed configuration for secure test server


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

Branch: refs/heads/tp32
Commit: 2819dba8ecd269b3ca3234f07e6fbfb5888fcf5a
Parents: c0a3ce0
Author: Stephen Mallette 
Authored: Wed Nov 22 07:01:28 2017 -0500
Committer: Stephen Mallette 
Committed: Wed Nov 22 07:01:28 2017 -0500

--
 gremlin-server/src/test/scripts/test-server-start.groovy | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2819dba8/gremlin-server/src/test/scripts/test-server-start.groovy
--
diff --git a/gremlin-server/src/test/scripts/test-server-start.groovy 
b/gremlin-server/src/test/scripts/test-server-start.groovy
index d793d26..157f01c 100644
--- a/gremlin-server/src/test/scripts/test-server-start.groovy
+++ b/gremlin-server/src/test/scripts/test-server-start.groovy
@@ -44,11 +44,11 @@ project.setContextValue("gremlin.server", server)
 log.info("Gremlin Server with no authentication started on port 45940")
 
 def settingsSecure = Settings.read("${settingsFile}")
-settings.graphs.graph = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
-settings.graphs.classic = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
-settings.graphs.modern = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
-settings.graphs.crew = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
-settings.graphs.grateful = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.graph = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.classic = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.modern = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.crew = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.grateful = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
 settingsSecure.scriptEngines["gremlin-groovy"].scripts = [gremlinServerDir + 
"/src/test/scripts/generate-all.groovy"]
 if (Boolean.parseBoolean(python)) {
 settingsSecure.scriptEngines["gremlin-python"] = new 
Settings.ScriptEngineSettings()



[47/50] tinkerpop git commit: TINKERPOP-1784 Removed the linejump option to clean up output to console

2017-11-22 Thread spmallette
TINKERPOP-1784 Removed the linejump option to clean up output to console


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

Branch: refs/heads/tp32
Commit: 2b24f589e6f6468fec2cba5dda6a7e95cefc8987
Parents: f980366
Author: Stephen Mallette 
Authored: Fri Nov 10 15:27:45 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-python/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2b24f589/gremlin-python/pom.xml
--
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 67cc35b..d1a4a76 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -449,7 +449,7 @@ limitations under the License.
 
 
- 
+ 
 
  
 
 



[27/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for addV()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for addV()

Included Cardinality in imports for test logic


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

Branch: refs/heads/tp32
Commit: 9910519423bbf89f05f48ec83986ea9e6cec0e4f
Parents: 9c93fd7
Author: Stephen Mallette 
Authored: Fri Nov 10 12:55:01 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |   3 +-
 gremlin-test/features/map/AddVertex.feature | 147 +++
 2 files changed, 149 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99105194/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 6c72bf1..90b0120 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, Path
 from gremlin_python.process.graph_traversal import __
-from gremlin_python.process.traversal import P, Scope, Column, Order, 
Direction, T, Pick, Operator
+from gremlin_python.process.traversal import Cardinality, P, Scope, Column, 
Order, Direction, T, Pick, Operator
 from radish import given, when, then
 from hamcrest import *
 
@@ -215,6 +215,7 @@ def _translate(traversal):
 def _make_traversal(g, traversal_string, params):
 b = {"g": g,
  "__": __,
+ "Cardinality": Cardinality,
  "Column": Column,
  "Direction": Direction,
  "Order": Order,

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99105194/gremlin-test/features/map/AddVertex.feature
--
diff --git a/gremlin-test/features/map/AddVertex.feature 
b/gremlin-test/features/map/AddVertex.feature
new file mode 100644
index 000..3335e29
--- /dev/null
+++ b/gremlin-test/features/map/AddVertex.feature
@@ -0,0 +1,147 @@
+# 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 - addV()
+
+  Scenario: 
g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX
+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").addV("animal").property("age", 
__.select("a").by("age")).property("name", "puppy")
+  """
+When iterated to list
+Then the result should have a 

[31/50] tinkerpop git commit: TINKERPOP-1784 Fixed some badly named feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Fixed some badly named feature tests


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

Branch: refs/heads/tp32
Commit: c7347ab2c61c759f35cbdb0a9e5b81c665f9d271
Parents: 5045a56
Author: Stephen Mallette 
Authored: Fri Nov 10 14:31:01 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Max.feature | 2 +-
 gremlin-test/features/map/Min.feature | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7347ab2/gremlin-test/features/map/Max.feature
--
diff --git a/gremlin-test/features/map/Max.feature 
b/gremlin-test/features/map/Max.feature
index 24cb81a..bb7e3d4 100644
--- a/gremlin-test/features/map/Max.feature
+++ b/gremlin-test/features/map/Max.feature
@@ -39,7 +39,7 @@ Feature: Step - max()
   | result |
   | d[35] |
 
-  Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX
+  Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX
 Given the modern graph
 And the traversal of
   """

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7347ab2/gremlin-test/features/map/Min.feature
--
diff --git a/gremlin-test/features/map/Min.feature 
b/gremlin-test/features/map/Min.feature
index 172fbaf..c4b86c6 100644
--- a/gremlin-test/features/map/Min.feature
+++ b/gremlin-test/features/map/Min.feature
@@ -39,7 +39,7 @@ Feature: Step - min()
   | result |
   | d[27] |
 
-  Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX
+  Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX
 Given the modern graph
 And the traversal of
   """



[30/50] tinkerpop git commit: TINKERPOP-1784 Added where() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added where() feature tests

This is not complete, but it is enough for now.


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

Branch: refs/heads/tp32
Commit: 9c93fd7c558933532349aae1d42e84f0afbc
Parents: e67cbdb
Author: Stephen Mallette 
Authored: Fri Nov 10 12:35:04 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/filter/Where.feature | 105 
 1 file changed, 105 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9c93fd7c/gremlin-test/features/filter/Where.feature
--
diff --git a/gremlin-test/features/filter/Where.feature 
b/gremlin-test/features/filter/Where.feature
new file mode 100644
index 000..5c520da
--- /dev/null
+++ b/gremlin-test/features/filter/Where.feature
@@ -0,0 +1,105 @@
+# 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 - where()
+
+  Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_eqXbXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").as("a").out().in().has("age").as("b").select("a", 
"b").where("a", P.eq("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[josh]","b":"v[josh]"}] |
+  | m[{"a":"v[josh]","b":"v[josh]"}] |
+  | m[{"a":"v[peter]","b":"v[peter]"}] |
+
+  Scenario: 
g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_neqXbXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").as("a").out().in().has("age").as("b").select("a", 
"b").where("a", P.neq("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[josh]"}] |
+  | m[{"a":"v[marko]","b":"v[peter]"}] |
+  | m[{"a":"v[josh]","b":"v[marko]"}] |
+  | m[{"a":"v[josh]","b":"v[peter]"}] |
+  | m[{"a":"v[peter]","b":"v[marko]"}] |
+  | m[{"a":"v[peter]","b":"v[josh]"}] |
+
+  Scenario: 
g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").as("a").out().in().has("age").as("b").select("a", 
"b").where(__.as("b").has("name", "marko"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[josh]","b":"v[marko]"}] |
+  | m[{"a":"v[peter]","b":"v[marko]"}] |
+
+  Scenario: 
g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").as("a").out().in().has("age").as("b").select("a", 
"b").where(__.as("a").out("knows").as("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[josh]"}] |
+
+  Scenario: g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name
+Given the modern graph
+And the traversal of
+  """
+  
g.V().as("a").out("created").where(__.as("a").values("name").is("josh")).in("created").values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | josh |
+  | josh |
+  | marko |
+  | peter |
+
+  Scenario: 
g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX
+Given the modern graph
+And using the parameter l defined as "l[josh,peter]"
+

[26/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for constant()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for constant()


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

Branch: refs/heads/tp32
Commit: 1588d3e27d91c01808ef342773be3616d8ec8fae
Parents: 5478e5d
Author: Stephen Mallette 
Authored: Tue Oct 24 15:42:29 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Constant.feature | 50 +
 1 file changed, 50 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1588d3e2/gremlin-test/features/map/Constant.feature
--
diff --git a/gremlin-test/features/map/Constant.feature 
b/gremlin-test/features/map/Constant.feature
new file mode 100644
index 000..f4ff337
--- /dev/null
+++ b/gremlin-test/features/map/Constant.feature
@@ -0,0 +1,50 @@
+# 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 - constant()
+
+  Scenario: g_V_constantX123X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V().constant(123)
+  """
+When iterated to list
+Then the result should be unordered
+  | d[123] |
+  | d[123] |
+  | d[123] |
+  | d[123] |
+  | d[123] |
+  | d[123] |
+
+  Scenario: g_V_chooseXhasLabelXpersonX_valuesXnameX_constantXinhumanXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().choose(__.hasLabel("person"), __.values("name"), 
__.constant("inhuman"))
+  """
+When iterated to list
+Then the result should be unordered
+  | marko |
+  | vadas |
+  | inhuman |
+  | josh |
+  | inhuman |
+  | peter |
+



[35/50] tinkerpop git commit: TINKERPOP-1784 Added mean() feature test

2017-11-22 Thread spmallette
TINKERPOP-1784 Added mean() feature test


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

Branch: refs/heads/tp32
Commit: 754b7f5c5def7a1388d955df464507cbb44e40b0
Parents: 26779e1
Author: Stephen Mallette 
Authored: Fri Nov 10 13:38:55 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Mean.feature | 40 +
 1 file changed, 40 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/754b7f5c/gremlin-test/features/map/Mean.feature
--
diff --git a/gremlin-test/features/map/Mean.feature 
b/gremlin-test/features/map/Mean.feature
new file mode 100644
index 000..22fab7d
--- /dev/null
+++ b/gremlin-test/features/map/Mean.feature
@@ -0,0 +1,40 @@
+# 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 - mean()
+
+  Scenario: g_V_age_mean
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("age").mean()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[30.75] |
+
+  Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_meanX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").mean())
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":1.0,"lop":0.}] |
\ No newline at end of file



[23/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for simplePath()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for simplePath()


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

Branch: refs/heads/tp32
Commit: c24d5b40746950c28c02fef97da27cb95abf687b
Parents: d11787a
Author: Stephen Mallette 
Authored: Tue Oct 24 12:46:26 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/SimplePath.feature | 69 
 1 file changed, 69 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c24d5b40/gremlin-test/features/filter/SimplePath.feature
--
diff --git a/gremlin-test/features/filter/SimplePath.feature 
b/gremlin-test/features/filter/SimplePath.feature
new file mode 100644
index 000..c8091af
--- /dev/null
+++ b/gremlin-test/features/filter/SimplePath.feature
@@ -0,0 +1,69 @@
+# 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 - simplePath()
+
+  Scenario: g_VX1X_outXcreatedX_inXcreatedX_simplePath
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").in("created").simplePath()
+  """
+When iterated to list
+Then the result should be unordered
+  | v[josh] |
+  | v[peter] |
+
+  Scenario: get_g_V_repeatXboth_simplePathX_timesX3X_path
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.both().simplePath()).times(3).path()
+  """
+When iterated to list
+Then the result should be unordered
+  | p[v[marko],v[lop],v[josh],v[ripple]] |
+  | p[v[marko],v[josh],v[lop],v[peter]] |
+  | p[v[vadas],v[marko],v[lop],v[josh]] |
+  | p[v[vadas],v[marko],v[lop],v[peter]] |
+  | p[v[vadas],v[marko],v[josh],v[ripple]] |
+  | p[v[vadas],v[marko],v[josh],v[lop]] |
+  | p[v[lop],v[marko],v[josh],v[ripple]] |
+  | p[v[lop],v[josh],v[marko],v[vadas]] |
+  | p[v[josh],v[lop],v[marko],v[vadas]] |
+  | p[v[josh],v[marko],v[lop],v[peter]] |
+  | p[v[ripple],v[josh],v[lop],v[marko]] |
+  | p[v[ripple],v[josh],v[lop],v[peter]] |
+  | p[v[ripple],v[josh],v[marko],v[lop]] |
+  | p[v[ripple],v[josh],v[marko],v[vadas]] |
+  | p[v[peter],v[lop],v[marko],v[vadas]] |
+  | p[v[peter],v[lop],v[marko],v[josh]] |
+  | p[v[peter],v[lop],v[josh],v[ripple]] |
+  | p[v[peter],v[lop],v[josh],v[marko]] |
+
+  Scenario: 
get_g_V_asXaX_out_asXbX_out_asXcX_simplePath_byXlabelX_fromXbX_toXcX_path_byXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  
g.V().as("a").out().as("b").out().as("c").simplePath().by(T.label).from("b").to("c").path().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | p[marko,josh,ripple] |
+  | p[marko,josh,lop]|



[21/50] tinkerpop git commit: TINKERPOP-1784 Add more tests for group() and cap()

2017-11-22 Thread spmallette
TINKERPOP-1784 Add more tests for group() and cap()


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

Branch: refs/heads/tp32
Commit: c3a3848d274a04eda8f930f0bfcf964b675f40c0
Parents: 3314644
Author: Stephen Mallette 
Authored: Tue Oct 31 09:23:22 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |   2 +-
 gremlin-test/features/sideEffect/Group.feature  | 244 +++
 .../features/sideEffect/SideEffectCap.feature   |  38 +++
 3 files changed, 283 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3a3848d/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 b48b7ef..b8b31ce 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -149,7 +149,7 @@ def _convert(val, ctx):
 elif isinstance(val, str) and re.match("^e\[.*\]$", val): # parse 
edge
 return ctx.lookup_e["modern"][val[2:-1]]
 elif isinstance(val, str) and re.match("^m\[.*\]$", val): # parse 
json as a map
-return _convert(json.loads(val[2:-1]), ctx)
+return _convert(json.loads(val[2:-1].replace('\\"', '"')), ctx)
 elif isinstance(val, str) and re.match("^p\[.*\]$", val): # parse 
path
 path_objects = list(map((lambda x: _convert(x, ctx)), 
val[2:-1].split(",")))
 return Path([set([])], path_objects)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3a3848d/gremlin-test/features/sideEffect/Group.feature
--
diff --git a/gremlin-test/features/sideEffect/Group.feature 
b/gremlin-test/features/sideEffect/Group.feature
new file mode 100644
index 000..9ba57ec
--- /dev/null
+++ b/gremlin-test/features/sideEffect/Group.feature
@@ -0,0 +1,244 @@
+# 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 - group()
+
+  Scenario: g_V_group_byXnameX
+Given the modern graph
+And the traversal of
+  """
+  g.V().group().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", 
"vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", 
"marko":"l[v[marko]]"}] |
+
+  Scenario: g_V_group_byXnameX_by
+Given the modern graph
+And the traversal of
+  """
+  g.V().group().by("name").by()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", 
"vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", 
"marko":"l[v[marko]]"}] |
+
+  Scenario: g_V_groupXaX_byXnameX_capXaX
+Given the modern graph
+And the traversal of
+  """
+  g.V().group("a").by("name").cap("a")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", 
"vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", 
"marko":"l[v[marko]]"}] |
+
+  Scenario: g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("lang").group("a").by("lang").by("name").out().cap("a")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"java":["lop","ripple"]}] |
+
+  Scenario: g_V_hasXlangX_group_byXlangX_byXcountX
+Given the modern graph
+And the traversal of
+  """
+  

[02/50] tinkerpop git commit: TINKERPOP-1784 Added valueMap() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added valueMap() feature tests


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

Branch: refs/heads/master
Commit: 72e98b68f8f120f5b6ba0f011b97007fca759c30
Parents: 8437c18
Author: Stephen Mallette 
Authored: Fri Oct 20 13:57:59 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:51 2017 -0500

--
 gremlin-test/features/map/ValueMap.feature  | 59 
 .../gremlin/process/FeatureCoverageTest.java|  2 +
 2 files changed, 61 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/72e98b68/gremlin-test/features/map/ValueMap.feature
--
diff --git a/gremlin-test/features/map/ValueMap.feature 
b/gremlin-test/features/map/ValueMap.feature
new file mode 100644
index 000..0a2220e
--- /dev/null
+++ b/gremlin-test/features/map/ValueMap.feature
@@ -0,0 +1,59 @@
+# 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 - valueMap()
+
+  Scenario: g_V_valueMap
+Given the modern graph
+And the traversal of
+  """
+  g.V().valueMap()
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"name": ["marko"], "age": [29]}] |
+  | m[{"name": ["josh"], "age": [32]}] |
+  | m[{"name": ["peter"], "age": [35]}] |
+  | m[{"name": ["vadas"], "age": [27]}] |
+  | m[{"name": ["lop"], "lang": ["java"]}] |
+  | m[{"name": ["ripple"], "lang": ["java"]}] |
+
+  Scenario: g_V_valueMapXname_ageX
+Given the modern graph
+And the traversal of
+  """
+  g.V().valueMap("name", "age")
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"name": ["marko"], "age": [29]}] |
+  | m[{"name": ["josh"], "age": [32]}] |
+  | m[{"name": ["peter"], "age": [35]}] |
+  | m[{"name": ["vadas"], "age": [27]}] |
+  | m[{"name": ["lop"]}] |
+  | m[{"name": ["ripple"]}] |
+
+  Scenario: g_VX1X_outXcreatedX_valueMap
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").valueMap()
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"name": ["lop"], "lang": ["java"]}] |
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/72e98b68/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 eb62f77..97f1fd6 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
@@ -27,6 +27,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.ValueMapTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexTest;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AggregateTest;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupCountTest;
@@ -78,6 +79,7 @@ public class FeatureCoverageTest {
 CountTest.class,
 PathTest.class,
 ProjectTest.class,
+ValueMapTest.class,
 VertexTest.class,

[12/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for coalesce()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for coalesce()


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

Branch: refs/heads/master
Commit: e9ee40ff808253ad52655c3533ca9e81c97a73ea
Parents: 3a294df
Author: Stephen Mallette 
Authored: Thu Nov 2 07:52:49 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Coalesce.feature | 78 +
 1 file changed, 78 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9ee40ff/gremlin-test/features/map/Coalesce.feature
--
diff --git a/gremlin-test/features/map/Coalesce.feature 
b/gremlin-test/features/map/Coalesce.feature
new file mode 100644
index 000..f7786ff
--- /dev/null
+++ b/gremlin-test/features/map/Coalesce.feature
@@ -0,0 +1,78 @@
+# 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 - coalesce()
+
+  Scenario: g_V_coalesceXoutXfooX_outXbarXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().coalesce(__.out("foo"), __.out("bar"))
+  """
+When iterated to list
+Then the result should be empty
+
+  Scenario: g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).coalesce(__.out("knows"), __.out("created")).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | vadas |
+  | josh |
+
+  Scenario: g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).coalesce(__.out("created"), __.out("knows")).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | lop |
+
+  Scenario: g_V_coalesceXoutXlikesX_outXknowsX_inXcreatedXX_groupCount_byXnameX
+Given the modern graph
+And the traversal of
+  """
+  g.V().coalesce(__.out("likes"), __.out("knows"), 
__.out("created")).groupCount().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":1, "vadas":1, "josh":1, "lop":2}] |
+
+  Scenario: 
g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX
+Given the modern graph
+And the traversal of
+  """
+  g.V().coalesce(__.outE("knows"), 
__.outE("created")).otherV().path().by("name").by(T.label)
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | p[marko,knows,vadas] |
+  | p[marko,knows,josh] |
+  | p[josh,created,ripple] |
+  | p[josh,created,lop] |
+  | p[peter,created,lop] |



[07/50] tinkerpop git commit: TINKERPOP-1784 Added local() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added local() feature tests

Had to add a way to assert a results that matched any in a set as limit() type 
steps might force different results depending on the graph being tested.


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

Branch: refs/heads/master
Commit: c45bac7890f5bd06d94726c6da15801b8c14d596
Parents: 77d59dd
Author: Stephen Mallette 
Authored: Mon Oct 23 10:00:34 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  23 ++-
 gremlin-test/features/branch/Local.feature  | 172 +++
 2 files changed, 191 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c45bac78/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 f58f0da..2d2ae8d 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -34,7 +34,9 @@ regex_not = re.compile(r"([(.,\s])not\(")
 regex_or = re.compile(r"([(.,\s])or\(")
 
 
-ignores = ["g.V(v1Id).out().inject(v2).values(\"name\")"]
+ignores = [
+"g.V(v1Id).out().inject(v2).values(\"name\")"  # bug in attachment won't 
connect v2
+   ]
 
 
 @given("the {graph_name:w} graph")
@@ -89,12 +91,14 @@ def assert_result(step, characterized_as):
 if step.context.ignore:
 return
 
-if characterized_as == "empty":
+if characterized_as == "empty":# no results
 assert_that(len(step.context.result), equal_to(0))
-elif characterized_as == "ordered":
+elif characterized_as == "ordered":# results asserted in the order of 
the data table
 _table_assertion(step.table, step.context.result, step.context, True)
-elif characterized_as == "unordered":
+elif characterized_as == "unordered":  # results asserted in any order
 _table_assertion(step.table, step.context.result, step.context, False)
+elif characterized_as == "of": # results may be of any of the 
specified items in the data table
+_any_assertion(step.table, step.context.result, step.context)
 else:
 raise ValueError("unknown data characterization of " + 
characterized_as)
 
@@ -108,6 +112,11 @@ def assert_side_effects(step, count, traversal_string):
 assert_that(count, equal_to(t.count().next()))
 
 
+@then("only have a result count of {count:d}")
+def assert_count(step, count):
+assert_that(count, equal_to(len(step.context.result)))
+
+
 @then("nothing should happen because")
 def nothing_happening(step):
 return
@@ -158,6 +167,12 @@ def _convert_results(val):
 return val
 
 
+def _any_assertion(data, result, ctx):
+converted = [_convert(line[0], ctx) for line in data]
+for r in result:
+assert_that(r, is_in(converted))
+
+
 def _table_assertion(data, result, ctx, ordered):
 # results from traversal should have the same number of entries as the 
feature data table
 assert_that(len(result), equal_to(len(data)))

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c45bac78/gremlin-test/features/branch/Local.feature
--
diff --git a/gremlin-test/features/branch/Local.feature 
b/gremlin-test/features/branch/Local.feature
new file mode 100644
index 000..53ae3ab
--- /dev/null
+++ b/gremlin-test/features/branch/Local.feature
@@ -0,0 +1,172 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contriAndor license agreements.  See the NOTICE file
+# distriAnded 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 distriAnded under the License is distriAnded 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 - local()
+
+  Scenario: g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value
+Given the crew graph
+And the traversal of
+  """
+  

[17/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for simplePath()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for simplePath()


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

Branch: refs/heads/master
Commit: c24d5b40746950c28c02fef97da27cb95abf687b
Parents: d11787a
Author: Stephen Mallette 
Authored: Tue Oct 24 12:46:26 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/SimplePath.feature | 69 
 1 file changed, 69 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c24d5b40/gremlin-test/features/filter/SimplePath.feature
--
diff --git a/gremlin-test/features/filter/SimplePath.feature 
b/gremlin-test/features/filter/SimplePath.feature
new file mode 100644
index 000..c8091af
--- /dev/null
+++ b/gremlin-test/features/filter/SimplePath.feature
@@ -0,0 +1,69 @@
+# 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 - simplePath()
+
+  Scenario: g_VX1X_outXcreatedX_inXcreatedX_simplePath
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").in("created").simplePath()
+  """
+When iterated to list
+Then the result should be unordered
+  | v[josh] |
+  | v[peter] |
+
+  Scenario: get_g_V_repeatXboth_simplePathX_timesX3X_path
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.both().simplePath()).times(3).path()
+  """
+When iterated to list
+Then the result should be unordered
+  | p[v[marko],v[lop],v[josh],v[ripple]] |
+  | p[v[marko],v[josh],v[lop],v[peter]] |
+  | p[v[vadas],v[marko],v[lop],v[josh]] |
+  | p[v[vadas],v[marko],v[lop],v[peter]] |
+  | p[v[vadas],v[marko],v[josh],v[ripple]] |
+  | p[v[vadas],v[marko],v[josh],v[lop]] |
+  | p[v[lop],v[marko],v[josh],v[ripple]] |
+  | p[v[lop],v[josh],v[marko],v[vadas]] |
+  | p[v[josh],v[lop],v[marko],v[vadas]] |
+  | p[v[josh],v[marko],v[lop],v[peter]] |
+  | p[v[ripple],v[josh],v[lop],v[marko]] |
+  | p[v[ripple],v[josh],v[lop],v[peter]] |
+  | p[v[ripple],v[josh],v[marko],v[lop]] |
+  | p[v[ripple],v[josh],v[marko],v[vadas]] |
+  | p[v[peter],v[lop],v[marko],v[vadas]] |
+  | p[v[peter],v[lop],v[marko],v[josh]] |
+  | p[v[peter],v[lop],v[josh],v[ripple]] |
+  | p[v[peter],v[lop],v[josh],v[marko]] |
+
+  Scenario: 
get_g_V_asXaX_out_asXbX_out_asXcX_simplePath_byXlabelX_fromXbX_toXcX_path_byXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  
g.V().as("a").out().as("b").out().as("c").simplePath().by(T.label).from("b").to("c").path().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | p[marko,josh,ripple] |
+  | p[marko,josh,lop]|



[01/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for or()

2017-11-22 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp32 0f271978f -> 78a1095bc


TINKERPOP-1784 Added feature tests for or()


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

Branch: refs/heads/tp32
Commit: bd3868b5aaeeaaad98261fe7ab4e31e2abf96c02
Parents: 72e98b6
Author: Stephen Mallette 
Authored: Fri Oct 20 14:06:15 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:51 2017 -0500

--
 gremlin-test/features/filter/Or.feature | 59 
 .../gremlin/process/FeatureCoverageTest.java|  2 +
 2 files changed, 61 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd3868b5/gremlin-test/features/filter/Or.feature
--
diff --git a/gremlin-test/features/filter/Or.feature 
b/gremlin-test/features/filter/Or.feature
new file mode 100644
index 000..111315a
--- /dev/null
+++ b/gremlin-test/features/filter/Or.feature
@@ -0,0 +1,59 @@
+# 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 - or()
+
+  Scenario: g_V_orXhasXage_gt_27X__outE_count_gte_2X_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().or(__.has("age", P.gt(27)), 
__.outE().count().is(P.gte(2l))).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | marko |
+  | josh  |
+  | peter |
+
+  Scenario: g_V_orXoutEXknowsX__hasXlabel_softwareX_or_hasXage_gte_35XX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().or(__.outE("knows"), __.has(T.label, "software").or().has("age", 
P.gte(35))).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | marko |
+  | ripple |
+  | lop  |
+  | peter |
+
+  Scenario: g_V_asXaX_orXselectXaX_selectXaXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().as("a").or(__.select("a"), __.select("a"))
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+  | v[vadas] |
+  | v[lop] |
+  | v[josh] |
+  | v[ripple] |
+  | v[peter]  |
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd3868b5/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 97f1fd6..282d8a8 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
@@ -24,6 +24,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.step.branch.OptionalTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.CoinTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.OrTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest;
@@ -75,6 +76,7 @@ public class FeatureCoverageTest {
 CoinTest.class,
 DropTest.class,
 IsTest.class,
+OrTest.class,
 // map
 CountTest.class,
 PathTest.class,



[45/50] tinkerpop git commit: TINKERPOP-1784 Updated changelog

2017-11-22 Thread spmallette
TINKERPOP-1784 Updated changelog


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

Branch: refs/heads/tp32
Commit: 576754415381205936f9a8be5cf50259d13faacb
Parents: 314ab67
Author: Stephen Mallette 
Authored: Sat Nov 11 06:20:32 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 CHANGELOG.asciidoc | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/57675441/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index d722066..5ba7c70 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -30,6 +30,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of 
`setOutE` and `setOutV`.
 * Added test framework for GLVs.
+* Added alias support in the .NET `DriverRemoteConnection`.
 * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated 
self-edges on `BOTH`.
 * Better respected permissions on the `plugins.txt` file and prevented writing 
if marked as read-only.
 * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, 
`LambdaFlatMapStep` and `LambdaSideEffectStep`.



[36/50] tinkerpop git commit: TINKERPOP-1784 Updated changelog

2017-11-22 Thread spmallette
TINKERPOP-1784 Updated changelog


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

Branch: refs/heads/tp32
Commit: 04c903e55c7bba523c1729625b6463a89031e2b4
Parents: 4a5b87c
Author: Stephen Mallette 
Authored: Fri Nov 10 15:17:03 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:13 2017 -0500

--
 CHANGELOG.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/04c903e5/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 918bbd4..cb2779a 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -29,6 +29,8 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bump to Netty 4.0.52
 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of 
`setOutE` and `setOutV`.
+* Added test framework for GLVs.
+* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated 
self-edges on `BOTH`.
 * Better respected permissions on the `plugins.txt` file and prevented writing 
if marked as read-only.
 * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, 
`LambdaFlatMapStep` and `LambdaSideEffectStep`.



[46/50] tinkerpop git commit: TINKERPOP-1784 Removed a commented out debug line

2017-11-22 Thread spmallette
TINKERPOP-1784 Removed a commented out debug line


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

Branch: refs/heads/tp32
Commit: 50f8286e6bafd9ca3b1a92b01b1317e330579e89
Parents: a3c981f
Author: Stephen Mallette 
Authored: Mon Nov 13 07:58:54 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-python/src/main/jython/radish/feature_steps.py | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/50f8286e/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 90b0120..94b0c77 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -227,5 +227,4 @@ def _make_traversal(g, traversal_string, params):
 
 b.update(params)
 
-# print _translate(step.text + " - " + str(b))
 return eval(_translate(traversal_string), b)



[34/50] tinkerpop git commit: TINKERPOP-1784 Added properties() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added properties() feature tests


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

Branch: refs/heads/tp32
Commit: 447e57c2e2bad029ead63de2227b12db708cbd85
Parents: c7347ab
Author: Stephen Mallette 
Authored: Fri Nov 10 14:31:20 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Properties.feature | 68 +++
 1 file changed, 68 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/447e57c2/gremlin-test/features/map/Properties.feature
--
diff --git a/gremlin-test/features/map/Properties.feature 
b/gremlin-test/features/map/Properties.feature
new file mode 100644
index 000..35ccd77
--- /dev/null
+++ b/gremlin-test/features/map/Properties.feature
@@ -0,0 +1,68 @@
+# 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 - properties()
+
+  Scenario: g_V_hasXageX_propertiesXname_ageX_value
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").properties("name", "age").value()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko |
+  | d[29] |
+  | vadas |
+  | d[27] |
+  | josh  |
+  | d[32] |
+  | peter |
+  | d[35] |
+
+  Scenario: g_V_hasXageX_propertiesXage_nameX_value
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").properties("age", "name").value()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko |
+  | d[29] |
+  | vadas |
+  | d[27] |
+  | josh  |
+  | d[32] |
+  | peter |
+  | d[35] |
+
+  Scenario: g_V_hasXageX_properties_hasXid_nameIdX_value
+Given an unsupported test
+Then nothing should happen because
+  """
+  There is no way to currently get property identifiers on elements.
+  """
+
+  Scenario: g_V_hasXageX_propertiesXnameX
+Given an unsupported test
+Then nothing should happen because
+  """
+  There is no way to currently assert property elements in the test logic.
+  """



[39/50] tinkerpop git commit: TINKERPOP-1784 Added validation for traversalSource alias

2017-11-22 Thread spmallette
TINKERPOP-1784 Added validation for traversalSource alias

Ensures that a RemoteConnection in .NET is properly initialized.


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

Branch: refs/heads/tp32
Commit: a3c981f1c6ae1bc272255d87cc36df36833eac4e
Parents: 5767544
Author: Stephen Mallette 
Authored: Mon Nov 13 07:52:42 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 .../src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a3c981f1/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
--
diff --git 
a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
index 80bd100..8cbd43d 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
@@ -56,7 +56,7 @@ namespace Gremlin.Net.Driver.Remote
 public DriverRemoteConnection(IGremlinClient client, string 
traversalSource)
 {
 _client = client ?? throw new 
ArgumentNullException(nameof(client));
-_traversalSource = traversalSource;
+_traversalSource = traversalSource ?? throw new 
ArgumentNullException(nameof(traversalSource));
 }
 
 /// 



[24/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for min()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for min()


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

Branch: refs/heads/tp32
Commit: d55e058d873954af84a07683f7023f7b97755f37
Parents: c24d5b4
Author: Stephen Mallette 
Authored: Tue Oct 24 13:36:36 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Min.feature | 48 ++
 1 file changed, 48 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d55e058d/gremlin-test/features/map/Min.feature
--
diff --git a/gremlin-test/features/map/Min.feature 
b/gremlin-test/features/map/Min.feature
new file mode 100644
index 000..48ceeb9
--- /dev/null
+++ b/gremlin-test/features/map/Min.feature
@@ -0,0 +1,48 @@
+# 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 - min()
+
+  Scenario: g_V_age_min
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("age").min()
+  """
+When iterated to list
+Then the result should be unordered
+  | d[27] |
+
+  Scenario: g_V_repeatXbothX_timesX5X_age_min
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.both()).times(5).values("age").min()
+  """
+When iterated to list
+Then the result should be unordered
+  | d[27] |
+
+  Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").min())
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"ripple":1.0,"lop":0.2}] |



[37/50] tinkerpop git commit: TINKERPOP-1784 Added sack() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added sack() feature tests


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

Branch: refs/heads/tp32
Commit: f98036605cfefac5d6a18b8e4e0f9ffeee690323
Parents: 04c903e
Author: Stephen Mallette 
Authored: Fri Nov 10 15:17:20 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:13 2017 -0500

--
 gremlin-test/features/sideEffect/Sack.feature | 71 ++
 1 file changed, 71 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f9803660/gremlin-test/features/sideEffect/Sack.feature
--
diff --git a/gremlin-test/features/sideEffect/Sack.feature 
b/gremlin-test/features/sideEffect/Sack.feature
new file mode 100644
index 000..b0d4cc0
--- /dev/null
+++ b/gremlin-test/features/sideEffect/Sack.feature
@@ -0,0 +1,71 @@
+# 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 - sack()
+
+  Scenario: g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | created |
+  | knows |
+  | knows |
+  | created |
+  | created |
+  | created |
+
+  Scenario: g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[3.5] |
+
+  Scenario: g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[2.0] |
+  | d[1.4] |
+
+  Scenario: g_withSackX0X_V_outE_sackXsum_weightX_inV_sack_sum
+Given an unsupported test
+Then nothing should happen because
+  """
+  This API is deprecated - will not test.
+  """
+
+  Scenario: g_withSackX0X_V_repeatXoutE_sackXsum_weightX_inVX_timesX2X_sack
+Given an unsupported test
+Then nothing should happen because
+  """
+  This API is deprecated - will not test.
+  """
\ No newline at end of file



[02/50] tinkerpop git commit: TINKERPOP-1784 Added valueMap() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added valueMap() feature tests


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

Branch: refs/heads/tp32
Commit: 72e98b68f8f120f5b6ba0f011b97007fca759c30
Parents: 8437c18
Author: Stephen Mallette 
Authored: Fri Oct 20 13:57:59 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:51 2017 -0500

--
 gremlin-test/features/map/ValueMap.feature  | 59 
 .../gremlin/process/FeatureCoverageTest.java|  2 +
 2 files changed, 61 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/72e98b68/gremlin-test/features/map/ValueMap.feature
--
diff --git a/gremlin-test/features/map/ValueMap.feature 
b/gremlin-test/features/map/ValueMap.feature
new file mode 100644
index 000..0a2220e
--- /dev/null
+++ b/gremlin-test/features/map/ValueMap.feature
@@ -0,0 +1,59 @@
+# 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 - valueMap()
+
+  Scenario: g_V_valueMap
+Given the modern graph
+And the traversal of
+  """
+  g.V().valueMap()
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"name": ["marko"], "age": [29]}] |
+  | m[{"name": ["josh"], "age": [32]}] |
+  | m[{"name": ["peter"], "age": [35]}] |
+  | m[{"name": ["vadas"], "age": [27]}] |
+  | m[{"name": ["lop"], "lang": ["java"]}] |
+  | m[{"name": ["ripple"], "lang": ["java"]}] |
+
+  Scenario: g_V_valueMapXname_ageX
+Given the modern graph
+And the traversal of
+  """
+  g.V().valueMap("name", "age")
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"name": ["marko"], "age": [29]}] |
+  | m[{"name": ["josh"], "age": [32]}] |
+  | m[{"name": ["peter"], "age": [35]}] |
+  | m[{"name": ["vadas"], "age": [27]}] |
+  | m[{"name": ["lop"]}] |
+  | m[{"name": ["ripple"]}] |
+
+  Scenario: g_VX1X_outXcreatedX_valueMap
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").valueMap()
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"name": ["lop"], "lang": ["java"]}] |
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/72e98b68/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 eb62f77..97f1fd6 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
@@ -27,6 +27,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.ValueMapTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexTest;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AggregateTest;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupCountTest;
@@ -78,6 +79,7 @@ public class FeatureCoverageTest {
 CountTest.class,
 PathTest.class,
 ProjectTest.class,
+ValueMapTest.class,
 VertexTest.class,
 

[14/50] tinkerpop git commit: TINKERPOP-1784 Added range() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added range() feature tests


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

Branch: refs/heads/tp32
Commit: 22e113d1a1e746d87a3da57df16f9f3adc0a6f33
Parents: a5d9977
Author: Stephen Mallette 
Authored: Tue Oct 24 12:17:43 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/Range.feature | 213 
 1 file changed, 213 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/22e113d1/gremlin-test/features/filter/Range.feature
--
diff --git a/gremlin-test/features/filter/Range.feature 
b/gremlin-test/features/filter/Range.feature
new file mode 100644
index 000..d5ea3bc
--- /dev/null
+++ b/gremlin-test/features/filter/Range.feature
@@ -0,0 +1,213 @@
+# 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 - range()
+
+  Scenario: g_VX1X_out_limitX2X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out().limit(2)
+  """
+When iterated to list
+Then the result should be of
+  | v[josh] |
+  | v[vadas] |
+  | v[lop] |
+And should have a result count of 2
+
+  Scenario: g_V_localXoutE_limitX1X_inVX_limitX3X
+Given the modern graph
+And the traversal of
+  """
+  g.V().local(__.outE().limit(1)).inV().limit(3)
+  """
+When iterated to list
+Then the result should be of
+  | v[josh] |
+  | v[vadas] |
+  | v[lop] |
+  | v[ripple] |
+And should have a result count of 3
+
+  Scenario: g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("knows").outE("created").range(0, 1).inV()
+  """
+When iterated to list
+Then the result should be of
+  | v[lop] |
+  | v[ripple] |
+And should have a result count of 1
+
+  Scenario: g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("knows").out("created").range(0, 1)
+  """
+When iterated to list
+Then the result should be of
+  | v[lop] |
+  | v[ripple] |
+And should have a result count of 1
+
+  Scenario: g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").in("created").range(1, 3)
+  """
+When iterated to list
+Then the result should be of
+  | v[marko] |
+  | v[josh] |
+  | v[peter] |
+And should have a result count of 2
+
+  Scenario: get_g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").inE("created").range(1, 3).outV()
+  """
+When iterated to list
+Then the result should be of
+  | v[marko] |
+  | v[josh] |
+  | v[peter] |
+And should have a result count of 2
+
+  Scenario: get_g_V_repeatXbothX_timesX3X_rangeX5_11X
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.both()).times(3).range(5, 11)
+  """
+When iterated to list
+Then the result should be of
+  | v[marko] |
+  | v[josh] |
+  | v[peter] |
+  | v[lop] |
+  | v[vadas] |
+  | v[ripple] |
+And should have a result count of 6
+
+  Scenario: 
g_V_asXaX_in_asXaX_in_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_limitXlocal_2X
+Given the modern graph
+And the traversal of
+  

[46/50] tinkerpop git commit: TINKERPOP-1784 Introduced types for all numerics of the feature test

2017-11-22 Thread spmallette
TINKERPOP-1784 Introduced types for all numerics of the feature test


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

Branch: refs/heads/master
Commit: 014d552fac9174c0fc3b0d6c3174269f7386f25c
Parents: 5286c20
Author: Stephen Mallette 
Authored: Fri Nov 17 08:37:17 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  2 +-
 gremlin-test/features/branch/Branch.feature | 24 ++--
 gremlin-test/features/branch/Local.feature  | 22 +-
 gremlin-test/features/branch/Repeat.feature |  6 ++---
 gremlin-test/features/branch/Union.feature  | 22 +-
 gremlin-test/features/filter/Dedup.feature  |  4 ++--
 gremlin-test/features/filter/Is.feature | 10 
 gremlin-test/features/filter/Tail.feature   |  2 +-
 gremlin-test/features/map/Coalesce.feature  |  2 +-
 gremlin-test/features/map/Constant.feature  | 12 +-
 gremlin-test/features/map/Count.feature | 16 ++---
 gremlin-test/features/map/Fold.feature  |  2 +-
 gremlin-test/features/map/Map.feature   | 12 +-
 gremlin-test/features/map/Match.feature | 12 +-
 gremlin-test/features/map/Max.feature   |  6 ++---
 gremlin-test/features/map/Mean.feature  |  4 ++--
 gremlin-test/features/map/Min.feature   |  6 ++---
 gremlin-test/features/map/Order.feature | 12 +-
 gremlin-test/features/map/Path.feature  | 10 
 gremlin-test/features/map/Project.feature   |  8 +++
 gremlin-test/features/map/Properties.feature| 16 ++---
 gremlin-test/features/map/Select.feature| 20 
 gremlin-test/features/map/Sum.feature   |  4 ++--
 .../features/sideEffect/Aggregate.feature   |  8 +++
 gremlin-test/features/sideEffect/Group.feature  | 18 +++
 .../features/sideEffect/GroupCount.feature  | 14 ++--
 gremlin-test/features/sideEffect/Inject.feature |  8 +++
 gremlin-test/features/sideEffect/Sack.feature   |  6 ++---
 gremlin-test/features/sideEffect/Store.feature  | 16 ++---
 29 files changed, 152 insertions(+), 152 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/014d552f/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 94b0c77..9f00535 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -136,7 +136,7 @@ def _convert(val, ctx):
 return list(map((lambda x: _convert(x, ctx)), val[2:-1].split(",")))
 elif isinstance(val, str) and re.match("^s\[.*\]$", val): # parse 
set
 return set(map((lambda x: _convert(x, ctx)), val[2:-1].split(",")))
-elif isinstance(val, str) and re.match("^d\[.*\]$", val): # parse 
numeric
+elif isinstance(val, str) and re.match("^d\[.*\][ilfd]$", val):   # parse 
numeric
 return float(val[2:-1]) if val[2:-1].__contains__(".") else 
long(val[2:-1])
 elif isinstance(val, str) and re.match("^v\[.*\]\.id$", val): # parse 
vertex id
 return ctx.lookup_v["modern"][val[2:-4]].id

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/014d552f/gremlin-test/features/branch/Branch.feature
--
diff --git a/gremlin-test/features/branch/Branch.feature 
b/gremlin-test/features/branch/Branch.feature
index b8690c6..6ee261f 100644
--- a/gremlin-test/features/branch/Branch.feature
+++ b/gremlin-test/features/branch/Branch.feature
@@ -35,10 +35,10 @@ Feature: Step - branch()
   | java |
   | lop |
   | ripple |
-  | d[29] |
-  | d[27] |
-  | d[32] |
-  | d[35] |
+  | d[29].i |
+  | d[27].i |
+  | d[32].i |
+  | d[35].i |
 
   Scenario: 
g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX
 Given the modern graph
@@ -57,10 +57,10 @@ Feature: Step - branch()
   | java |
   | lop |
   | ripple |
-  | d[29] |
-  | d[27] |
-  | d[32] |
-  | d[35] |
+  | d[29].i |
+  | d[27].i |
+  | d[32].i |
+  | d[35].i |
 
   Scenario: 
g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX
 Given the modern graph
@@ -80,10 

[40/50] tinkerpop git commit: TINKERPOP-1784 Changed expected datatypes for sack assertions

2017-11-22 Thread spmallette
TINKERPOP-1784 Changed expected datatypes for sack assertions


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

Branch: refs/heads/tp32
Commit: c0a3ce0e32c70af1d61312966485b5651afc3076
Parents: 11a180f
Author: Stephen Mallette 
Authored: Tue Nov 21 15:50:07 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-test/features/sideEffect/Sack.feature | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0a3ce0e/gremlin-test/features/sideEffect/Sack.feature
--
diff --git a/gremlin-test/features/sideEffect/Sack.feature 
b/gremlin-test/features/sideEffect/Sack.feature
index d83d7e1..73e65da 100644
--- a/gremlin-test/features/sideEffect/Sack.feature
+++ b/gremlin-test/features/sideEffect/Sack.feature
@@ -53,8 +53,8 @@ Feature: Step - sack()
 When iterated to list
 Then the result should be unordered
   | result |
-  | d[2.0].d |
-  | d[1.4].d |
+  | d[2.0].m |
+  | d[1.4].m |
 
   Scenario: g_withSackX0X_V_outE_sackXsum_weightX_inV_sack_sum
 Given an unsupported test



[42/50] tinkerpop git commit: TINKERPOP-1784 Removed duplicate entry from bad merge in changelog

2017-11-22 Thread spmallette
TINKERPOP-1784 Removed duplicate entry from bad merge in changelog


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

Branch: refs/heads/tp32
Commit: 33258993494225f61697fc8fe58d3b54d59766f8
Parents: 2b24f58
Author: Stephen Mallette 
Authored: Fri Nov 10 20:13:12 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 CHANGELOG.asciidoc | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33258993/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index cb2779a..d722066 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -30,7 +30,6 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of 
`setOutE` and `setOutV`.
 * Added test framework for GLVs.
-* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated 
self-edges on `BOTH`.
 * Better respected permissions on the `plugins.txt` file and prevented writing 
if marked as read-only.
 * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, 
`LambdaFlatMapStep` and `LambdaSideEffectStep`.



[38/50] tinkerpop git commit: TINKERPOP-1784 Added support for BigDecimal and fixed broken tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added support for BigDecimal and fixed broken tests


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

Branch: refs/heads/tp32
Commit: 7231b5a61c851cd3065cb63844e94b9d8d1466ea
Parents: 014d552
Author: Stephen Mallette 
Authored: Fri Nov 17 12:35:28 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-python/src/main/jython/radish/feature_steps.py | 4 ++--
 gremlin-test/features/branch/Local.feature | 2 +-
 gremlin-test/features/branch/Repeat.feature| 2 +-
 gremlin-test/features/map/Mean.feature | 2 +-
 gremlin-test/features/map/Min.feature  | 2 +-
 gremlin-test/features/map/Order.feature| 2 +-
 gremlin-test/features/map/Properties.feature   | 2 +-
 gremlin-test/features/sideEffect/Group.feature | 2 +-
 gremlin-test/features/sideEffect/Sack.feature  | 2 +-
 9 files changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/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 9f00535..5cb4b9a 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -136,8 +136,8 @@ def _convert(val, ctx):
 return list(map((lambda x: _convert(x, ctx)), val[2:-1].split(",")))
 elif isinstance(val, str) and re.match("^s\[.*\]$", val): # parse 
set
 return set(map((lambda x: _convert(x, ctx)), val[2:-1].split(",")))
-elif isinstance(val, str) and re.match("^d\[.*\][ilfd]$", val):   # parse 
numeric
-return float(val[2:-1]) if val[2:-1].__contains__(".") else 
long(val[2:-1])
+elif isinstance(val, str) and re.match("^d\[.*\]\.[ilfdm]$", val):  # 
parse numeric
+return float(val[2:-3]) if val[2:-3].__contains__(".") else 
long(val[2:-3])
 elif isinstance(val, str) and re.match("^v\[.*\]\.id$", val): # parse 
vertex id
 return ctx.lookup_v["modern"][val[2:-4]].id
 elif isinstance(val, str) and re.match("^v\[.*\]\.sid$", val):# parse 
vertex id as string

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/branch/Local.feature
--
diff --git a/gremlin-test/features/branch/Local.feature 
b/gremlin-test/features/branch/Local.feature
index d6e809e..9efe921 100644
--- a/gremlin-test/features/branch/Local.feature
+++ b/gremlin-test/features/branch/Local.feature
@@ -47,7 +47,7 @@ Feature: Step - local()
   | m[{"a":"marko","b":"d[3].i"}] |
   | m[{"a":"josh","b":"d[5].i"}]  |
   | m[{"a":"josh","b":"d[3].i"}]  |
-  | m[{"a":"peter","b":"d[3].i}] |
+  | m[{"a":"peter","b":"d[3].i"}] |
 
   Scenario: g_V_localXoutE_countX
 Given the modern graph

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/branch/Repeat.feature
--
diff --git a/gremlin-test/features/branch/Repeat.feature 
b/gremlin-test/features/branch/Repeat.feature
index 89eb002..009c380 100644
--- a/gremlin-test/features/branch/Repeat.feature
+++ b/gremlin-test/features/branch/Repeat.feature
@@ -212,7 +212,7 @@ Feature: Step - repeat()
 When iterated to list
 Then the result should be unordered
   | result |
-  | 
m[{"ripple":"d[3].l,"vadas":"d[3].l","josh":"d[4].l","lop":"d[10].l","marko":"d[4].l"}]
 |
+  | 
m[{"ripple":"d[3].l","vadas":"d[3].l","josh":"d[4].l","lop":"d[10].l","marko":"d[4].l"}]
 |
 
   Scenario: 
g_V_hasXname_markoX_repeatXoutE_inV_simplePathX_untilXhasXname_rippleXX_path_byXnameX_byXlabelX
 Given the modern graph

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/map/Mean.feature
--
diff --git a/gremlin-test/features/map/Mean.feature 
b/gremlin-test/features/map/Mean.feature
index b716bde..b109356 100644
--- a/gremlin-test/features/map/Mean.feature
+++ b/gremlin-test/features/map/Mean.feature
@@ -37,4 +37,4 @@ Feature: Step - mean()
 When iterated to list
 Then the result should be unordered
   | result |
-  | m[{"ripple":"d[1.0]".d,"lop":"d[0.].d"}] |
\ No newline at end of file
+  | 

[03/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for match()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for match()


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

Branch: refs/heads/master
Commit: 3b54267846bc86a927cf44839c1333e2ba63135a
Parents: 8f0b8f7
Author: Stephen Mallette 
Authored: Thu Nov 9 12:50:52 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Match.feature | 80 
 1 file changed, 80 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3b542678/gremlin-test/features/map/Match.feature
--
diff --git a/gremlin-test/features/map/Match.feature 
b/gremlin-test/features/map/Match.feature
new file mode 100644
index 000..59c56fd
--- /dev/null
+++ b/gremlin-test/features/map/Match.feature
@@ -0,0 +1,80 @@
+# 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 - match()
+
+  Scenario: g_V_valueMap_matchXa_selectXnameX_bX
+Given the modern graph
+And the traversal of
+  """
+  g.V().valueMap().match(__.as("a").select("name").as("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":{"name":["marko"],"age":[29]},"b":["marko"]}] |
+  | m[{"a":{"name":["vadas"],"age":[27]},"b":["vadas"]}] |
+  | m[{"a":{"name":["lop"],"lang":["java"]},"b":["lop"]}] |
+  | m[{"a":{"name":["josh"],"age":[32]},"b":["josh"]}] |
+  | m[{"a":{"name":["ripple"],"lang":["java"]},"b":["ripple"]}] |
+  | m[{"a":{"name":["peter"],"age":[35]},"b":["peter"]}] |
+
+  Scenario: g_V_matchXa_out_bX
+Given the modern graph
+And the traversal of
+  """
+  g.V().match(__.as("a").out().as("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[lop]"}] |
+  | m[{"a":"v[marko]","b":"v[vadas]"}] |
+  | m[{"a":"v[marko]","b":"v[josh]"}] |
+  | m[{"a":"v[josh]","b":"v[ripple]"}] |
+  | m[{"a":"v[josh]","b":"v[lop]"}] |
+  | m[{"a":"v[peter]","b":"v[lop]"}] |
+
+  Scenario: g_V_matchXa_out_bX_selectXb_idX
+Given the modern graph
+And the traversal of
+  """
+  g.V().match(__.as("a").out().as("b")).select("b").by(T.id)
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[3] |
+  | d[2] |
+  | d[4] |
+  | d[5] |
+  | d[3] |
+  | d[3] |
+
+  Scenario: g_V_matchXa_knows_b__b_created_cX
+Given the modern graph
+And the traversal of
+  """
+  g.V().match(__.as("a").out("knows").as("b"),
+  __.as("b").out("created").as("c"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[josh]", "c":"v[ripple]"}] |
+  | m[{"a":"v[marko]","b":"v[josh]", "c":"v[lop]"}] |
+



[22/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for min()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for min()


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

Branch: refs/heads/master
Commit: d55e058d873954af84a07683f7023f7b97755f37
Parents: c24d5b4
Author: Stephen Mallette 
Authored: Tue Oct 24 13:36:36 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Min.feature | 48 ++
 1 file changed, 48 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d55e058d/gremlin-test/features/map/Min.feature
--
diff --git a/gremlin-test/features/map/Min.feature 
b/gremlin-test/features/map/Min.feature
new file mode 100644
index 000..48ceeb9
--- /dev/null
+++ b/gremlin-test/features/map/Min.feature
@@ -0,0 +1,48 @@
+# 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 - min()
+
+  Scenario: g_V_age_min
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("age").min()
+  """
+When iterated to list
+Then the result should be unordered
+  | d[27] |
+
+  Scenario: g_V_repeatXbothX_timesX5X_age_min
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.both()).times(5).values("age").min()
+  """
+When iterated to list
+Then the result should be unordered
+  | d[27] |
+
+  Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").min())
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"ripple":1.0,"lop":0.2}] |



[48/50] tinkerpop git commit: TINKERPOP-1784 Fixed configuration for secure test server

2017-11-22 Thread spmallette
TINKERPOP-1784 Fixed configuration for secure test server


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

Branch: refs/heads/master
Commit: 2819dba8ecd269b3ca3234f07e6fbfb5888fcf5a
Parents: c0a3ce0
Author: Stephen Mallette 
Authored: Wed Nov 22 07:01:28 2017 -0500
Committer: Stephen Mallette 
Committed: Wed Nov 22 07:01:28 2017 -0500

--
 gremlin-server/src/test/scripts/test-server-start.groovy | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2819dba8/gremlin-server/src/test/scripts/test-server-start.groovy
--
diff --git a/gremlin-server/src/test/scripts/test-server-start.groovy 
b/gremlin-server/src/test/scripts/test-server-start.groovy
index d793d26..157f01c 100644
--- a/gremlin-server/src/test/scripts/test-server-start.groovy
+++ b/gremlin-server/src/test/scripts/test-server-start.groovy
@@ -44,11 +44,11 @@ project.setContextValue("gremlin.server", server)
 log.info("Gremlin Server with no authentication started on port 45940")
 
 def settingsSecure = Settings.read("${settingsFile}")
-settings.graphs.graph = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
-settings.graphs.classic = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
-settings.graphs.modern = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
-settings.graphs.crew = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
-settings.graphs.grateful = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.graph = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.classic = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.modern = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.crew = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
+settingsSecure.graphs.grateful = gremlinServerDir + 
"/src/test/scripts/tinkergraph-empty.properties"
 settingsSecure.scriptEngines["gremlin-groovy"].scripts = [gremlinServerDir + 
"/src/test/scripts/generate-all.groovy"]
 if (Boolean.parseBoolean(python)) {
 settingsSecure.scriptEngines["gremlin-python"] = new 
Settings.ScriptEngineSettings()



[44/50] tinkerpop git commit: TINKERPOP-1784 Killed some whitespace in gremlin-python pom

2017-11-22 Thread spmallette
TINKERPOP-1784 Killed some whitespace in gremlin-python pom


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

Branch: refs/heads/tp32
Commit: 5286c2042690369c25bda8dd69692ae11b02841e
Parents: 50f8286
Author: Stephen Mallette 
Authored: Mon Nov 13 08:04:28 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-python/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5286c204/gremlin-python/pom.xml
--
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index d1a4a76..a1aee4a 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -450,7 +450,7 @@ limitations under the License.
   failonerror="true">
 
  
-
  
+
 
 
 



[40/50] tinkerpop git commit: TINKERPOP-1784 Removed the linejump option to clean up output to console

2017-11-22 Thread spmallette
TINKERPOP-1784 Removed the linejump option to clean up output to console


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

Branch: refs/heads/master
Commit: 2b24f589e6f6468fec2cba5dda6a7e95cefc8987
Parents: f980366
Author: Stephen Mallette 
Authored: Fri Nov 10 15:27:45 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-python/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2b24f589/gremlin-python/pom.xml
--
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 67cc35b..d1a4a76 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -449,7 +449,7 @@ limitations under the License.
 
 
- 
+ 
 
  
 
 



[08/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for filter()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for filter()


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

Branch: refs/heads/tp32
Commit: 77d59ddf9c323842872c875445e35952210784ca
Parents: bd3868b
Author: Stephen Mallette 
Authored: Fri Oct 20 15:13:06 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/Filter.feature | 106 +++
 .../gremlin/process/FeatureCoverageTest.java|   2 +
 2 files changed, 108 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/77d59ddf/gremlin-test/features/filter/Filter.feature
--
diff --git a/gremlin-test/features/filter/Filter.feature 
b/gremlin-test/features/filter/Filter.feature
new file mode 100644
index 000..05e7cea
--- /dev/null
+++ b/gremlin-test/features/filter/Filter.feature
@@ -0,0 +1,106 @@
+# 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 - filter()
+
+  Scenario: g_V_filterXfalseX
+Given the modern graph
+And using the parameter l1 defined as "c[false]"
+And the traversal of
+  """
+  g.V().filter(l1)
+  """
+When iterated to list
+Then the result should be empty
+
+  Scenario: g_V_filterXtrueX
+Given the modern graph
+And using the parameter l1 defined as "c[true]"
+And the traversal of
+  """
+  g.V().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+  | v[vadas] |
+  | v[lop] |
+  | v[josh] |
+  | v[ripple] |
+  | v[peter]  |
+
+  Scenario: g_V_filterXlang_eq_javaX
+Given the modern graph
+And using the parameter l1 defined as 
"c[it.get().property('lang').orElse('none').equals('java')]"
+And the traversal of
+  """
+  g.V().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | v[ripple] |
+  | v[lop]  |
+
+  Scenario: g_VX1X_out_filterXage_gt_30X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And using the parameter l1 defined as 
"c[it.get().property('age').orElse(0) > 30]"
+And the traversal of
+  """
+  g.V(v1Id).out().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | v[josh] |
+
+  Scenario: g_V_filterXname_startsWith_m_OR_name_startsWith_pX
+Given the modern graph
+And using the parameter l1 defined as "c[{name = it.get().value('name'); 
name.startsWith('m') || name.startsWith('p')}]"
+And the traversal of
+  """
+  g.V().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+  | v[peter]  |
+
+  Scenario: g_E_filterXfalseX
+Given the modern graph
+And using the parameter l1 defined as "c[false]"
+And the traversal of
+  """
+  g.E().filter(l1)
+  """
+When iterated to list
+Then the result should be empty
+
+  Scenario: g_E_filterXtrueX
+Given the modern graph
+And using the parameter l1 defined as "c[true]"
+And the traversal of
+  """
+  g.E().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | e[marko-created->lop] |
+  | e[marko-knows->josh] |
+  | e[marko-knows->vadas] |
+  | e[peter-created->lop] |
+  | e[josh-created->lop] |
+  | e[josh-created->ripple] |
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/77d59ddf/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
 

[28/50] tinkerpop git commit: TINKERPOP-1784 Renamed loops() feature test to match the step name

2017-11-22 Thread spmallette
TINKERPOP-1784 Renamed loops() feature test to match the step name


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

Branch: refs/heads/tp32
Commit: 26779e1904d24db9702c9a4b98f5107b930bf49f
Parents: 9910519
Author: Stephen Mallette 
Authored: Fri Nov 10 12:56:34 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Loop.feature  | 68 
 gremlin-test/features/map/Loops.feature | 68 
 2 files changed, 68 insertions(+), 68 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26779e19/gremlin-test/features/map/Loop.feature
--
diff --git a/gremlin-test/features/map/Loop.feature 
b/gremlin-test/features/map/Loop.feature
deleted file mode 100644
index efd439f..000
--- a/gremlin-test/features/map/Loop.feature
+++ /dev/null
@@ -1,68 +0,0 @@
-# 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 - loop()
-
-  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX
-Given the modern graph
-And using the parameter v1Id defined as "v[marko].id"
-And the traversal of
-  """
-  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").or().loops().is(3)).has("name", "peter").path().by("name")
-  """
-When iterated to list
-Then the result should be unordered
-  | result |
-  | p[marko,lop,peter] |
-  | p[marko,josh,lop,peter] |
-
-  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX
-Given the modern graph
-And using the parameter v1Id defined as "v[marko].id"
-And the traversal of
-  """
-  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").or().loops().is(2)).has("name", "peter").path().by("name")
-  """
-When iterated to list
-Then the result should be unordered
-  | result |
-  | p[marko,lop,peter] |
-
-  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX
-Given the modern graph
-And using the parameter v1Id defined as "v[marko].id"
-And the traversal of
-  """
-  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").and().loops().is(3)).has("name", "peter").path().by("name")
-  """
-When iterated to list
-Then the result should be unordered
-  | result |
-  | p[marko,josh,lop,peter] |
-
-  Scenario: g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX
-Given the modern graph
-And the traversal of
-  """
-  g.V().emit(__.has("name", 
"marko").or().loops().is(2)).repeat(__.out()).values("name")
-  """
-When iterated to list
-Then the result should be unordered
-  | result |
-  | marko |
-  | ripple |
-  | lop |

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26779e19/gremlin-test/features/map/Loops.feature
--
diff --git a/gremlin-test/features/map/Loops.feature 
b/gremlin-test/features/map/Loops.feature
new file mode 100644
index 000..b8a70ae
--- /dev/null
+++ b/gremlin-test/features/map/Loops.feature
@@ -0,0 +1,68 @@
+# 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 

[45/50] tinkerpop git commit: TINKERPOP-1784 Changed expected datatypes for sack assertions

2017-11-22 Thread spmallette
TINKERPOP-1784 Changed expected datatypes for sack assertions


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

Branch: refs/heads/master
Commit: c0a3ce0e32c70af1d61312966485b5651afc3076
Parents: 11a180f
Author: Stephen Mallette 
Authored: Tue Nov 21 15:50:07 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-test/features/sideEffect/Sack.feature | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0a3ce0e/gremlin-test/features/sideEffect/Sack.feature
--
diff --git a/gremlin-test/features/sideEffect/Sack.feature 
b/gremlin-test/features/sideEffect/Sack.feature
index d83d7e1..73e65da 100644
--- a/gremlin-test/features/sideEffect/Sack.feature
+++ b/gremlin-test/features/sideEffect/Sack.feature
@@ -53,8 +53,8 @@ Feature: Step - sack()
 When iterated to list
 Then the result should be unordered
   | result |
-  | d[2.0].d |
-  | d[1.4].d |
+  | d[2.0].m |
+  | d[1.4].m |
 
   Scenario: g_withSackX0X_V_outE_sackXsum_weightX_inV_sack_sum
 Given an unsupported test



[39/50] tinkerpop git commit: TINKERPOP-1784 Added support for BigDecimal and fixed broken tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added support for BigDecimal and fixed broken tests


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

Branch: refs/heads/master
Commit: 7231b5a61c851cd3065cb63844e94b9d8d1466ea
Parents: 014d552
Author: Stephen Mallette 
Authored: Fri Nov 17 12:35:28 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-python/src/main/jython/radish/feature_steps.py | 4 ++--
 gremlin-test/features/branch/Local.feature | 2 +-
 gremlin-test/features/branch/Repeat.feature| 2 +-
 gremlin-test/features/map/Mean.feature | 2 +-
 gremlin-test/features/map/Min.feature  | 2 +-
 gremlin-test/features/map/Order.feature| 2 +-
 gremlin-test/features/map/Properties.feature   | 2 +-
 gremlin-test/features/sideEffect/Group.feature | 2 +-
 gremlin-test/features/sideEffect/Sack.feature  | 2 +-
 9 files changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/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 9f00535..5cb4b9a 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -136,8 +136,8 @@ def _convert(val, ctx):
 return list(map((lambda x: _convert(x, ctx)), val[2:-1].split(",")))
 elif isinstance(val, str) and re.match("^s\[.*\]$", val): # parse 
set
 return set(map((lambda x: _convert(x, ctx)), val[2:-1].split(",")))
-elif isinstance(val, str) and re.match("^d\[.*\][ilfd]$", val):   # parse 
numeric
-return float(val[2:-1]) if val[2:-1].__contains__(".") else 
long(val[2:-1])
+elif isinstance(val, str) and re.match("^d\[.*\]\.[ilfdm]$", val):  # 
parse numeric
+return float(val[2:-3]) if val[2:-3].__contains__(".") else 
long(val[2:-3])
 elif isinstance(val, str) and re.match("^v\[.*\]\.id$", val): # parse 
vertex id
 return ctx.lookup_v["modern"][val[2:-4]].id
 elif isinstance(val, str) and re.match("^v\[.*\]\.sid$", val):# parse 
vertex id as string

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/branch/Local.feature
--
diff --git a/gremlin-test/features/branch/Local.feature 
b/gremlin-test/features/branch/Local.feature
index d6e809e..9efe921 100644
--- a/gremlin-test/features/branch/Local.feature
+++ b/gremlin-test/features/branch/Local.feature
@@ -47,7 +47,7 @@ Feature: Step - local()
   | m[{"a":"marko","b":"d[3].i"}] |
   | m[{"a":"josh","b":"d[5].i"}]  |
   | m[{"a":"josh","b":"d[3].i"}]  |
-  | m[{"a":"peter","b":"d[3].i}] |
+  | m[{"a":"peter","b":"d[3].i"}] |
 
   Scenario: g_V_localXoutE_countX
 Given the modern graph

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/branch/Repeat.feature
--
diff --git a/gremlin-test/features/branch/Repeat.feature 
b/gremlin-test/features/branch/Repeat.feature
index 89eb002..009c380 100644
--- a/gremlin-test/features/branch/Repeat.feature
+++ b/gremlin-test/features/branch/Repeat.feature
@@ -212,7 +212,7 @@ Feature: Step - repeat()
 When iterated to list
 Then the result should be unordered
   | result |
-  | 
m[{"ripple":"d[3].l,"vadas":"d[3].l","josh":"d[4].l","lop":"d[10].l","marko":"d[4].l"}]
 |
+  | 
m[{"ripple":"d[3].l","vadas":"d[3].l","josh":"d[4].l","lop":"d[10].l","marko":"d[4].l"}]
 |
 
   Scenario: 
g_V_hasXname_markoX_repeatXoutE_inV_simplePathX_untilXhasXname_rippleXX_path_byXnameX_byXlabelX
 Given the modern graph

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7231b5a6/gremlin-test/features/map/Mean.feature
--
diff --git a/gremlin-test/features/map/Mean.feature 
b/gremlin-test/features/map/Mean.feature
index b716bde..b109356 100644
--- a/gremlin-test/features/map/Mean.feature
+++ b/gremlin-test/features/map/Mean.feature
@@ -37,4 +37,4 @@ Feature: Step - mean()
 When iterated to list
 Then the result should be unordered
   | result |
-  | m[{"ripple":"d[1.0]".d,"lop":"d[0.].d"}] |
\ No newline at end of file
+  | 

[09/50] tinkerpop git commit: TINKERPOP-1784 Disabled coverage test for features

2017-11-22 Thread spmallette
TINKERPOP-1784 Disabled coverage test for features

No point to enabling at this time since all tests aren't really targetted for 
migration with this initial body of work. It will be turned on later when all 
test are intended for migration.


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

Branch: refs/heads/master
Commit: 7896264edf6a3ea94a2f7ae396da1f1db152311e
Parents: 3b54267
Author: Stephen Mallette 
Authored: Fri Nov 10 11:24:47 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java  | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7896264e/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 dba865b..cc6e9bd 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
@@ -35,6 +35,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AggregateT
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupCountTest;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.InjectTest;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.StoreTest;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import java.io.BufferedReader;
@@ -65,6 +66,7 @@ public class FeatureCoverageTest {
 private static Pattern scenarioName = 
Pattern.compile("^\\s*Scenario:\\s*(.*)$");
 
 @Test
+@Ignore("As it stands we won't have all of these tests migrated initially 
so there is no point to running this in full - it can be flipped on later")
 public void shouldImplementAllProcessTestsAsFeatures() throws Exception {
 
 // TEMPORARY while test framework is under development - all tests 
should ultimately be included



[25/50] tinkerpop git commit: TINKERPOP-1784 radish bumped version and broke stuff

2017-11-22 Thread spmallette
TINKERPOP-1784 radish bumped version and broke stuff

Tables now return a list of maps that required a header so all feature files 
needed header.


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

Branch: refs/heads/tp32
Commit: 33146446fe67ff25e378e2025d2b03e2c207d119
Parents: 1588d3e
Author: Stephen Mallette 
Authored: Tue Oct 31 08:24:28 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  4 +--
 gremlin-python/src/main/jython/setup.py |  2 +-
 gremlin-test/features/branch/Branch.feature |  3 ++
 gremlin-test/features/branch/Choose.feature |  6 
 gremlin-test/features/branch/Local.feature  | 11 +++
 gremlin-test/features/branch/Optional.feature   |  4 +++
 gremlin-test/features/branch/Repeat.feature | 13 
 gremlin-test/features/branch/Union.feature  |  7 
 gremlin-test/features/filter/And.feature|  4 +++
 gremlin-test/features/filter/Coin.feature   |  1 +
 gremlin-test/features/filter/CyclicPath.feature |  2 ++
 gremlin-test/features/filter/Dedup.feature  | 15 +
 gremlin-test/features/filter/Filter.feature |  5 +++
 gremlin-test/features/filter/Has.feature|  2 ++
 gremlin-test/features/filter/Is.feature |  5 +++
 gremlin-test/features/filter/Or.feature |  3 ++
 gremlin-test/features/filter/Range.feature  | 15 +
 gremlin-test/features/filter/SimplePath.feature |  7 ++--
 gremlin-test/features/map/Constant.feature  |  2 ++
 gremlin-test/features/map/Count.feature |  9 ++
 gremlin-test/features/map/Max.feature   |  3 ++
 gremlin-test/features/map/Min.feature   |  3 ++
 gremlin-test/features/map/Path.feature  |  7 
 gremlin-test/features/map/Project.feature   |  2 ++
 gremlin-test/features/map/Select.feature| 20 
 gremlin-test/features/map/ValueMap.feature  |  3 ++
 gremlin-test/features/map/Vertex.feature| 34 +++-
 .../features/sideEffect/Aggregate.feature   |  4 +++
 .../features/sideEffect/GroupCount.feature  | 10 ++
 gremlin-test/features/sideEffect/Inject.feature |  2 ++
 gremlin-test/features/sideEffect/Store.feature  |  3 ++
 31 files changed, 205 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/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 14a0153..b48b7ef 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -168,7 +168,7 @@ def _convert_results(val):
 
 
 def _any_assertion(data, result, ctx):
-converted = [_convert(line[0], ctx) for line in data]
+converted = [_convert(line['result'], ctx) for line in data]
 for r in result:
 assert_that(r, is_in(converted))
 
@@ -182,7 +182,7 @@ def _table_assertion(data, result, ctx, ordered):
 # finds a match in the results for each line of data to assert and then 
removes that item
 # from the list - in the end there should be no items left over and each 
will have been asserted
 for ix, line in enumerate(data):
-val = _convert(line[0], ctx)
+val = _convert(line['result'], ctx)
 
 # clear the labels since we don't define them in .feature files
 if isinstance(val, Path):

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-python/src/main/jython/setup.py
--
diff --git a/gremlin-python/src/main/jython/setup.py 
b/gremlin-python/src/main/jython/setup.py
index 9a66c81..c72a4d3 100644
--- a/gremlin-python/src/main/jython/setup.py
+++ b/gremlin-python/src/main/jython/setup.py
@@ -71,7 +71,7 @@ setup(
 tests_require=[
 'pytest',
 'mock',
-'radish-bdd',
+'radish-bdd==0.8.0',
 'PyHamcrest'
 ],
 install_requires=install_requires,

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-test/features/branch/Branch.feature
--
diff --git a/gremlin-test/features/branch/Branch.feature 
b/gremlin-test/features/branch/Branch.feature
index d306c3b..b8690c6 100644
--- a/gremlin-test/features/branch/Branch.feature
+++ b/gremlin-test/features/branch/Branch.feature
@@ 

[08/50] tinkerpop git commit: TINKERPOP-1784 Added tail() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added tail() feature tests

Added fixes to python test logic for the reserved global keyword and fixed 
ordering test logic a bit.


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

Branch: refs/heads/master
Commit: e67cbdb86241dd7d2baa42cb9a6e1458788839ee
Parents: 7896264
Author: Stephen Mallette 
Authored: Fri Nov 10 12:05:57 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |   7 +-
 gremlin-test/features/filter/Tail.feature   | 166 +++
 2 files changed, 171 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e67cbdb8/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 dae6361a..6c72bf1 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -28,6 +28,7 @@ from hamcrest import *
 regex_and = re.compile(r"([(.,\s])and\(")
 regex_as = re.compile(r"([(.,\s])as\(")
 regex_from = re.compile(r"([(.,\s])from\(")
+regex_global = re.compile(r"([(.,\s])global")
 regex_in = re.compile(r"([(.,\s])in\(")
 regex_is = re.compile(r"([(.,\s])is\(")
 regex_not = re.compile(r"([(.,\s])not\(")
@@ -193,15 +194,17 @@ def _table_assertion(data, result, ctx, ordered):
 assert_that(results_to_test[ix], equal_to(val))
 else:
 assert_that(val, is_in(results_to_test))
-results_to_test.remove(val)
+results_to_test.remove(val)
 
-assert_that(len(results_to_test), is_(0))
+if not ordered:
+assert_that(len(results_to_test), is_(0))
 
 
 def _translate(traversal):
 replaced = traversal.replace("\n", "")
 replaced = regex_and.sub(r"\1and_(", replaced)
 replaced = regex_from.sub(r"\1from_(", replaced)
+replaced = regex_global.sub(r"\1global_", replaced)
 replaced = regex_as.sub(r"\1as_(", replaced)
 replaced = regex_is.sub(r"\1is_(", replaced)
 replaced = regex_not.sub(r"\1not_(", replaced)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e67cbdb8/gremlin-test/features/filter/Tail.feature
--
diff --git a/gremlin-test/features/filter/Tail.feature 
b/gremlin-test/features/filter/Tail.feature
new file mode 100644
index 000..35083ef
--- /dev/null
+++ b/gremlin-test/features/filter/Tail.feature
@@ -0,0 +1,166 @@
+# 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 - tail()
+
+  Scenario: g_V_valuesXnameX_order_tailXglobal_2X
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order().tail(Scope.global, 2)
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | ripple |
+  | vadas |
+
+  Scenario: g_V_valuesXnameX_order_tailX2X
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order().tail(2)
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | ripple |
+  | vadas |
+
+  Scenario: g_V_valuesXnameX_order_tail
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order().tail()
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | vadas |
+
+  Scenario: g_V_valuesXnameX_order_tailX7X
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order().tail(7)
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | josh   |
+  | lop|
+ 

[32/50] tinkerpop git commit: TINKERPOP-1784 Added sum() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added sum() feature tests


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

Branch: refs/heads/tp32
Commit: 5dd6a240b30c29cd2d2d4625a0415159b191818f
Parents: 447e57c
Author: Stephen Mallette 
Authored: Fri Nov 10 14:36:03 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Sum.feature | 40 ++
 1 file changed, 40 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5dd6a240/gremlin-test/features/map/Sum.feature
--
diff --git a/gremlin-test/features/map/Sum.feature 
b/gremlin-test/features/map/Sum.feature
new file mode 100644
index 000..35571fa
--- /dev/null
+++ b/gremlin-test/features/map/Sum.feature
@@ -0,0 +1,40 @@
+# 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 - sum()
+
+  Scenario: g_V_valuesXageX_sum
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("age").sum()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[123] |
+
+  Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_sumX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").sum())
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":1.0,"lop":1.0}] |
\ No newline at end of file



[11/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for match()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for match()


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

Branch: refs/heads/tp32
Commit: 3b54267846bc86a927cf44839c1333e2ba63135a
Parents: 8f0b8f7
Author: Stephen Mallette 
Authored: Thu Nov 9 12:50:52 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Match.feature | 80 
 1 file changed, 80 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3b542678/gremlin-test/features/map/Match.feature
--
diff --git a/gremlin-test/features/map/Match.feature 
b/gremlin-test/features/map/Match.feature
new file mode 100644
index 000..59c56fd
--- /dev/null
+++ b/gremlin-test/features/map/Match.feature
@@ -0,0 +1,80 @@
+# 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 - match()
+
+  Scenario: g_V_valueMap_matchXa_selectXnameX_bX
+Given the modern graph
+And the traversal of
+  """
+  g.V().valueMap().match(__.as("a").select("name").as("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":{"name":["marko"],"age":[29]},"b":["marko"]}] |
+  | m[{"a":{"name":["vadas"],"age":[27]},"b":["vadas"]}] |
+  | m[{"a":{"name":["lop"],"lang":["java"]},"b":["lop"]}] |
+  | m[{"a":{"name":["josh"],"age":[32]},"b":["josh"]}] |
+  | m[{"a":{"name":["ripple"],"lang":["java"]},"b":["ripple"]}] |
+  | m[{"a":{"name":["peter"],"age":[35]},"b":["peter"]}] |
+
+  Scenario: g_V_matchXa_out_bX
+Given the modern graph
+And the traversal of
+  """
+  g.V().match(__.as("a").out().as("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[lop]"}] |
+  | m[{"a":"v[marko]","b":"v[vadas]"}] |
+  | m[{"a":"v[marko]","b":"v[josh]"}] |
+  | m[{"a":"v[josh]","b":"v[ripple]"}] |
+  | m[{"a":"v[josh]","b":"v[lop]"}] |
+  | m[{"a":"v[peter]","b":"v[lop]"}] |
+
+  Scenario: g_V_matchXa_out_bX_selectXb_idX
+Given the modern graph
+And the traversal of
+  """
+  g.V().match(__.as("a").out().as("b")).select("b").by(T.id)
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[3] |
+  | d[2] |
+  | d[4] |
+  | d[5] |
+  | d[3] |
+  | d[3] |
+
+  Scenario: g_V_matchXa_knows_b__b_created_cX
+Given the modern graph
+And the traversal of
+  """
+  g.V().match(__.as("a").out("knows").as("b"),
+  __.as("b").out("created").as("c"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[josh]", "c":"v[ripple]"}] |
+  | m[{"a":"v[marko]","b":"v[josh]", "c":"v[lop]"}] |
+



[05/50] tinkerpop git commit: TINKERPOP-1784 Added flatMap()/fold() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added flatMap()/fold() feature tests


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

Branch: refs/heads/tp32
Commit: 78fd4fdc8f177ecab960f7d5c94aa6374606cd61
Parents: e9ee40f
Author: Stephen Mallette 
Authored: Thu Nov 2 08:11:48 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  3 +-
 gremlin-test/features/map/FlatMap.feature   | 35 
 gremlin-test/features/map/Fold.feature  | 57 
 3 files changed, 94 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/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 b7050e9..dae6361a 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, Path
 from gremlin_python.process.graph_traversal import __
-from gremlin_python.process.traversal import P, Scope, Column, Order, 
Direction, T, Pick
+from gremlin_python.process.traversal import P, Scope, Column, Order, 
Direction, T, Pick, Operator
 from radish import given, when, then
 from hamcrest import *
 
@@ -218,6 +218,7 @@ def _make_traversal(g, traversal_string, params):
  "P": P,
  "Pick": Pick,
  "Scope": Scope,
+ "Operator": Operator,
  "T": T}
 
 b.update(params)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-test/features/map/FlatMap.feature
--
diff --git a/gremlin-test/features/map/FlatMap.feature 
b/gremlin-test/features/map/FlatMap.feature
new file mode 100644
index 000..7384ee3
--- /dev/null
+++ b/gremlin-test/features/map/FlatMap.feature
@@ -0,0 +1,35 @@
+# 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 - flatMap()
+
+  Scenario: g_V_asXaX_flatMapXselectXaXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().as("a").flatMap(__.select("a"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | v[marko] |
+  | v[vadas] |
+  | v[lop] |
+  | v[josh] |
+  | v[ripple] |
+  | v[peter]  |
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-test/features/map/Fold.feature
--
diff --git a/gremlin-test/features/map/Fold.feature 
b/gremlin-test/features/map/Fold.feature
new file mode 100644
index 000..1c71b27
--- /dev/null
+++ b/gremlin-test/features/map/Fold.feature
@@ -0,0 +1,57 @@
+# 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 - fold()
+
+  Scenario: g_V_fold
+Given the modern graph
+And the traversal of
+  """
+  

[07/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for V()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for V()


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

Branch: refs/heads/tp32
Commit: 75d1e27bb517494df7ab3fdc7ac02a23935ef91d
Parents: 78fd4fd
Author: Stephen Mallette 
Authored: Thu Nov 2 08:58:27 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Graph.feature | 109 +++
 1 file changed, 109 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/75d1e27b/gremlin-test/features/map/Graph.feature
--
diff --git a/gremlin-test/features/map/Graph.feature 
b/gremlin-test/features/map/Graph.feature
new file mode 100644
index 000..249d6a3
--- /dev/null
+++ b/gremlin-test/features/map/Graph.feature
@@ -0,0 +1,109 @@
+# 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 - V()
+
+  Scenario: g_VX1X_V_valuesXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).V().values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko  |
+  | vadas |
+  | lop   |
+  | josh |
+  | ripple |
+  | peter  |
+
+  Scenario: g_V_outXknowsX_V_name
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V().out("knows").V().values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko  |
+  | marko  |
+  | vadas |
+  | vadas |
+  | lop   |
+  | lop   |
+  | josh |
+  | josh |
+  | ripple |
+  | ripple |
+  | peter  |
+  | peter  |
+
+  Scenario: 
g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name
+Given the grateful graph
+And the traversal of
+  """
+  g.V().has("artist", "name", "Garcia").in("sungBy").as("song").
+V().has("artist", "name", 
"Willie_Dixon").in("writtenBy").where(P.eq("song")).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | MY BABE |
+  | HOOCHIE COOCHIE MAN |
+
+  Scenario: g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX
+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 software defined as "l[v[lop],v[ripple]]"
+And using the parameter v1Id defined as "v[marko].id"
+And using the parameter v2Id defined as "v[vadas].id"
+

[22/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for max()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for max()


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

Branch: refs/heads/tp32
Commit: 5478e5ddca1c228a4df48310a4373dca97192c61
Parents: d55e058
Author: Stephen Mallette 
Authored: Tue Oct 24 13:51:30 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Max.feature | 48 ++
 1 file changed, 48 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5478e5dd/gremlin-test/features/map/Max.feature
--
diff --git a/gremlin-test/features/map/Max.feature 
b/gremlin-test/features/map/Max.feature
new file mode 100644
index 000..c36177d
--- /dev/null
+++ b/gremlin-test/features/map/Max.feature
@@ -0,0 +1,48 @@
+# 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 - max()
+
+  Scenario: g_V_age_max
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("age").max()
+  """
+When iterated to list
+Then the result should be unordered
+  | d[35] |
+
+  Scenario: g_V_repeatXbothX_timesX5X_age_max
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.both()).times(5).values("age").max()
+  """
+When iterated to list
+Then the result should be unordered
+  | d[35] |
+
+  Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").max())
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"ripple":1.0,"lop":0.4}] |



[09/50] tinkerpop git commit: TINKERPOP-1784 Added tail() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added tail() feature tests

Added fixes to python test logic for the reserved global keyword and fixed 
ordering test logic a bit.


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

Branch: refs/heads/tp32
Commit: e67cbdb86241dd7d2baa42cb9a6e1458788839ee
Parents: 7896264
Author: Stephen Mallette 
Authored: Fri Nov 10 12:05:57 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |   7 +-
 gremlin-test/features/filter/Tail.feature   | 166 +++
 2 files changed, 171 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e67cbdb8/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 dae6361a..6c72bf1 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -28,6 +28,7 @@ from hamcrest import *
 regex_and = re.compile(r"([(.,\s])and\(")
 regex_as = re.compile(r"([(.,\s])as\(")
 regex_from = re.compile(r"([(.,\s])from\(")
+regex_global = re.compile(r"([(.,\s])global")
 regex_in = re.compile(r"([(.,\s])in\(")
 regex_is = re.compile(r"([(.,\s])is\(")
 regex_not = re.compile(r"([(.,\s])not\(")
@@ -193,15 +194,17 @@ def _table_assertion(data, result, ctx, ordered):
 assert_that(results_to_test[ix], equal_to(val))
 else:
 assert_that(val, is_in(results_to_test))
-results_to_test.remove(val)
+results_to_test.remove(val)
 
-assert_that(len(results_to_test), is_(0))
+if not ordered:
+assert_that(len(results_to_test), is_(0))
 
 
 def _translate(traversal):
 replaced = traversal.replace("\n", "")
 replaced = regex_and.sub(r"\1and_(", replaced)
 replaced = regex_from.sub(r"\1from_(", replaced)
+replaced = regex_global.sub(r"\1global_", replaced)
 replaced = regex_as.sub(r"\1as_(", replaced)
 replaced = regex_is.sub(r"\1is_(", replaced)
 replaced = regex_not.sub(r"\1not_(", replaced)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e67cbdb8/gremlin-test/features/filter/Tail.feature
--
diff --git a/gremlin-test/features/filter/Tail.feature 
b/gremlin-test/features/filter/Tail.feature
new file mode 100644
index 000..35083ef
--- /dev/null
+++ b/gremlin-test/features/filter/Tail.feature
@@ -0,0 +1,166 @@
+# 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 - tail()
+
+  Scenario: g_V_valuesXnameX_order_tailXglobal_2X
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order().tail(Scope.global, 2)
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | ripple |
+  | vadas |
+
+  Scenario: g_V_valuesXnameX_order_tailX2X
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order().tail(2)
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | ripple |
+  | vadas |
+
+  Scenario: g_V_valuesXnameX_order_tail
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order().tail()
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | vadas |
+
+  Scenario: g_V_valuesXnameX_order_tailX7X
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order().tail(7)
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | josh   |
+  | lop|
+  

[10/50] tinkerpop git commit: TINKERPOP-1784 Disabled coverage test for features

2017-11-22 Thread spmallette
TINKERPOP-1784 Disabled coverage test for features

No point to enabling at this time since all tests aren't really targetted for 
migration with this initial body of work. It will be turned on later when all 
test are intended for migration.


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

Branch: refs/heads/tp32
Commit: 7896264edf6a3ea94a2f7ae396da1f1db152311e
Parents: 3b54267
Author: Stephen Mallette 
Authored: Fri Nov 10 11:24:47 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java  | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7896264e/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 dba865b..cc6e9bd 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
@@ -35,6 +35,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AggregateT
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupCountTest;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.InjectTest;
 import 
org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.StoreTest;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import java.io.BufferedReader;
@@ -65,6 +66,7 @@ public class FeatureCoverageTest {
 private static Pattern scenarioName = 
Pattern.compile("^\\s*Scenario:\\s*(.*)$");
 
 @Test
+@Ignore("As it stands we won't have all of these tests migrated initially 
so there is no point to running this in full - it can be flipped on later")
 public void shouldImplementAllProcessTestsAsFeatures() throws Exception {
 
 // TEMPORARY while test framework is under development - all tests 
should ultimately be included



[27/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for order()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for order()


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

Branch: refs/heads/master
Commit: 5045a56c208b5e069dedeb330ab6bef092419880
Parents: 754b7f5
Author: Stephen Mallette 
Authored: Fri Nov 10 14:15:28 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Order.feature | 132 +++
 1 file changed, 132 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5045a56c/gremlin-test/features/map/Order.feature
--
diff --git a/gremlin-test/features/map/Order.feature 
b/gremlin-test/features/map/Order.feature
new file mode 100644
index 000..9005465
--- /dev/null
+++ b/gremlin-test/features/map/Order.feature
@@ -0,0 +1,132 @@
+# 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 - order()
+
+  Scenario: g_V_name_order
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("name").order()
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | josh |
+  | lop  |
+  | marko |
+  | peter |
+  | ripple |
+  | vadas  |
+
+  Scenario: g_V_name_order_byXa1_b1X_byXb2_a2X
+Given the modern graph
+And using the parameter l1 defined as "c[a, b -> a.substring(1, 
2).compareTo(b.substring(1, 2))]"
+And using the parameter l2 defined as "c[a, b -> b.substring(2, 
3).compareTo(a.substring(2, 3))]"
+And the traversal of
+  """
+  g.V().values("name").order().by(l1).by(l2)
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | marko  |
+  | vadas  |
+  | peter  |
+  | ripple |
+  | josh   |
+  | lop|
+
+  Scenario: g_V_order_byXname_incrX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().order().by("name", Order.incr).values("name")
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | josh |
+  | lop  |
+  | marko |
+  | peter |
+  | ripple |
+  | vadas  |
+
+  Scenario: g_V_order_byXnameX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().order().by("name").values("name")
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | josh |
+  | lop  |
+  | marko |
+  | peter |
+  | ripple |
+  | vadas  |
+
+  Scenario: g_V_outE_order_byXweight_decrX_weight
+Given the modern graph
+And the traversal of
+  """
+  g.V().outE().order().by("weight", Order.decr).values("weight")
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | d[1.0] |
+  | d[1.0] |
+  | d[0.5] |
+  | d[0.4] |
+  | d[0.4] |
+  | d[0.2] |
+
+  Scenario: g_V_order_byXname_a1_b1X_byXname_b2_a2X_name
+Given the modern graph
+And using the parameter l1 defined as "c[a, b -> a.substring(1, 
2).compareTo(b.substring(1, 2))]"
+And using the parameter l2 defined as "c[a, b -> b.substring(2, 
3).compareTo(a.substring(2, 3))]"
+And the traversal of
+  """
+  g.V().order().by("name", l1).by("name", l2).values("name")
+  """
+When iterated to list
+Then the result should be ordered
+  | result |
+  | marko  |
+  | vadas  |
+  | peter  |
+  | ripple |
+  | josh   |
+  | lop|
+
+  Scenario: g_V_asXaX_outXcreatedX_asXbX_order_byXshuffleX_selectXa_bX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().as("a").out("created").as("b").order().by(Order.shuffle).select("a", "b")
+  """
+When iterated to list
+Then the result should be unordered
+  | 

[16/50] tinkerpop git commit: TINKERPOP-1784 Added repeat() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added repeat() feature tests


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

Branch: refs/heads/master
Commit: 401a44fc95c628cccbdd6b47c604488561a13bd8
Parents: f784e71
Author: Stephen Mallette 
Authored: Mon Oct 23 13:50:37 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/branch/Repeat.feature | 217 +++
 1 file changed, 217 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/401a44fc/gremlin-test/features/branch/Repeat.feature
--
diff --git a/gremlin-test/features/branch/Repeat.feature 
b/gremlin-test/features/branch/Repeat.feature
new file mode 100644
index 000..e6049b5
--- /dev/null
+++ b/gremlin-test/features/branch/Repeat.feature
@@ -0,0 +1,217 @@
+# 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 - repeat()
+
+  Scenario: g_V_repeatXoutX_timesX2X_emit_path
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.out()).times(2).emit().path()
+  """
+When iterated to list
+Then the result should be unordered
+  | p[v[marko],v[lop]] |
+  | p[v[marko],v[vadas]] |
+  | p[v[marko],v[josh]] |
+  | p[v[marko],v[josh],v[ripple]] |
+  | p[v[marko],v[josh],v[lop]] |
+  | p[v[josh],v[ripple]] |
+  | p[v[josh],v[lop]] |
+  | p[v[peter],v[lop]] |
+
+  Scenario: g_V_repeatXoutX_timesX2X_repeatXinX_timesX2X_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.out()).times(2).repeat(__.in()).times(2).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | marko |
+  | marko |
+
+  Scenario: g_V_repeatXoutX_timesX2X
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.out()).times(2) 
+  """
+When iterated to list
+Then the result should be unordered
+  | v[ripple] |
+  | v[lop] |
+
+  Scenario: g_V_repeatXoutX_timesX2X_emit
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.out()).times(2).emit()
+  """
+When iterated to list
+Then the result should be of
+  | v[ripple] |
+  | v[lop] |
+  | v[josh] |
+  | v[vadas] |
+And only have a result count of 8
+
+  Scenario: g_VX1X_timesX2X_repeatXoutX_name
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).times(2).repeat(__.out()).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | ripple |
+  | lop |
+
+  Scenario: g_V_emit_timesX2X_repeatXoutX_path
+Given the modern graph
+And the traversal of
+  """
+  g.V().emit().times(2).repeat(__.out()).path()
+  """
+When iterated to list
+Then the result should be unordered
+  | p[v[marko]] |
+  | p[v[marko],v[lop]] |
+  | p[v[marko],v[vadas]] |
+  | p[v[marko],v[josh]] |
+  | p[v[marko],v[josh],v[ripple]] |
+  | p[v[marko],v[josh],v[lop]] |
+  | p[v[vadas]] |
+  | p[v[lop]] |
+  | p[v[josh]] |
+  | p[v[josh],v[ripple]] |
+  | p[v[josh],v[lop]] |
+  | p[v[ripple]] |
+  | p[v[peter]] |
+  | p[v[peter],v[lop]] |
+
+  Scenario: g_V_emit_repeatXoutX_timesX2X_path
+Given the modern graph
+And the traversal of
+  """
+  g.V().emit().repeat(__.out()).times(2).path()
+  """
+When iterated to list
+Then the result should be unordered
+  | p[v[marko]] |
+  | p[v[marko],v[lop]] |
+  | p[v[marko],v[vadas]] |
+  | p[v[marko],v[josh]] |
+  | p[v[marko],v[josh],v[ripple]] |
+  | p[v[marko],v[josh],v[lop]] |
+  | p[v[vadas]] |
+  | p[v[lop]] |
+ 

[16/50] tinkerpop git commit: TINKERPOP-1784 Added local() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added local() feature tests

Had to add a way to assert a results that matched any in a set as limit() type 
steps might force different results depending on the graph being tested.


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

Branch: refs/heads/tp32
Commit: c45bac7890f5bd06d94726c6da15801b8c14d596
Parents: 77d59dd
Author: Stephen Mallette 
Authored: Mon Oct 23 10:00:34 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  23 ++-
 gremlin-test/features/branch/Local.feature  | 172 +++
 2 files changed, 191 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c45bac78/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 f58f0da..2d2ae8d 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -34,7 +34,9 @@ regex_not = re.compile(r"([(.,\s])not\(")
 regex_or = re.compile(r"([(.,\s])or\(")
 
 
-ignores = ["g.V(v1Id).out().inject(v2).values(\"name\")"]
+ignores = [
+"g.V(v1Id).out().inject(v2).values(\"name\")"  # bug in attachment won't 
connect v2
+   ]
 
 
 @given("the {graph_name:w} graph")
@@ -89,12 +91,14 @@ def assert_result(step, characterized_as):
 if step.context.ignore:
 return
 
-if characterized_as == "empty":
+if characterized_as == "empty":# no results
 assert_that(len(step.context.result), equal_to(0))
-elif characterized_as == "ordered":
+elif characterized_as == "ordered":# results asserted in the order of 
the data table
 _table_assertion(step.table, step.context.result, step.context, True)
-elif characterized_as == "unordered":
+elif characterized_as == "unordered":  # results asserted in any order
 _table_assertion(step.table, step.context.result, step.context, False)
+elif characterized_as == "of": # results may be of any of the 
specified items in the data table
+_any_assertion(step.table, step.context.result, step.context)
 else:
 raise ValueError("unknown data characterization of " + 
characterized_as)
 
@@ -108,6 +112,11 @@ def assert_side_effects(step, count, traversal_string):
 assert_that(count, equal_to(t.count().next()))
 
 
+@then("only have a result count of {count:d}")
+def assert_count(step, count):
+assert_that(count, equal_to(len(step.context.result)))
+
+
 @then("nothing should happen because")
 def nothing_happening(step):
 return
@@ -158,6 +167,12 @@ def _convert_results(val):
 return val
 
 
+def _any_assertion(data, result, ctx):
+converted = [_convert(line[0], ctx) for line in data]
+for r in result:
+assert_that(r, is_in(converted))
+
+
 def _table_assertion(data, result, ctx, ordered):
 # results from traversal should have the same number of entries as the 
feature data table
 assert_that(len(result), equal_to(len(data)))

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c45bac78/gremlin-test/features/branch/Local.feature
--
diff --git a/gremlin-test/features/branch/Local.feature 
b/gremlin-test/features/branch/Local.feature
new file mode 100644
index 000..53ae3ab
--- /dev/null
+++ b/gremlin-test/features/branch/Local.feature
@@ -0,0 +1,172 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contriAndor license agreements.  See the NOTICE file
+# distriAnded 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 distriAnded under the License is distriAnded 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 - local()
+
+  Scenario: g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value
+Given the crew graph
+And the traversal of
+  """
+  

[19/50] tinkerpop git commit: TINKERPOP-1784 Added dedup() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added dedup() feature tests

Reworked test language for asserting counts so that it works better as a 
standalone assertion.


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

Branch: refs/heads/tp32
Commit: a5d99774e2f6b8dbe312062e99380b5a80873816
Parents: a9af53f
Author: Stephen Mallette 
Authored: Tue Oct 24 11:37:18 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |   2 +-
 gremlin-test/features/branch/Local.feature  |  12 +-
 gremlin-test/features/branch/Repeat.feature |   2 +-
 gremlin-test/features/filter/Dedup.feature  | 222 +++
 4 files changed, 230 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/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 2d2ae8d..14a0153 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -112,7 +112,7 @@ def assert_side_effects(step, count, traversal_string):
 assert_that(count, equal_to(t.count().next()))
 
 
-@then("only have a result count of {count:d}")
+@then("should have a result count of {count:d}")
 def assert_count(step, count):
 assert_that(count, equal_to(len(step.context.result)))
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/branch/Local.feature
--
diff --git a/gremlin-test/features/branch/Local.feature 
b/gremlin-test/features/branch/Local.feature
index 53ae3ab..fa12d8c 100644
--- a/gremlin-test/features/branch/Local.feature
+++ b/gremlin-test/features/branch/Local.feature
@@ -73,7 +73,7 @@ Feature: Step - local()
 Then the result should be of
   | vadas |
   | josh  |
-And only have a result count of 1
+And should have a result count of 1
 
   Scenario: g_V_localXbothEXcreatedX_limitX1XX_otherV_name
 Given the modern graph
@@ -88,7 +88,7 @@ Feature: Step - local()
   | ripple |
   | josh   |
   | peter  |
-And only have a result count of 5
+And should have a result count of 5
 
   Scenario: g_VX4X_localXbothEX1_createdX_limitX1XX
 Given the modern graph
@@ -101,7 +101,7 @@ Feature: Step - local()
 Then the result should be of
   | e[josh-created->lop]|
   | e[josh-created->ripple] |
-And only have a result count of 1
+And should have a result count of 1
 
   Scenario: g_VX4X_localXbothEXknows_createdX_limitX1XX
 Given the modern graph
@@ -115,7 +115,7 @@ Feature: Step - local()
   | e[marko-knows->josh]|
   | e[josh-created->lop]|
   | e[josh-created->ripple] |
-And only have a result count of 1
+And should have a result count of 1
 
   Scenario: g_VX4X_localXbothE_limitX1XX_otherV_name
 Given the modern graph
@@ -129,7 +129,7 @@ Feature: Step - local()
   | marko  |
   | ripple |
   | lop|
-And only have a result count of 1
+And should have a result count of 1
 
   Scenario: g_VX4X_localXbothE_limitX2XX_otherV_name
 Given the modern graph
@@ -143,7 +143,7 @@ Feature: Step - local()
   | marko  |
   | ripple |
   | lop|
-And only have a result count of 2
+And should have a result count of 2
 
   Scenario: g_V_localXinEXknowsX_limitX2XX_outV_name
 Given the modern graph

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/branch/Repeat.feature
--
diff --git a/gremlin-test/features/branch/Repeat.feature 
b/gremlin-test/features/branch/Repeat.feature
index e6049b5..6d97fc0 100644
--- a/gremlin-test/features/branch/Repeat.feature
+++ b/gremlin-test/features/branch/Repeat.feature
@@ -68,7 +68,7 @@ Feature: Step - repeat()
   | v[lop] |
   | v[josh] |
   | v[vadas] |
-And only have a result count of 8
+And should have a result count of 8
 
   Scenario: g_VX1X_timesX2X_repeatXoutX_name
 Given the modern graph

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/filter/Dedup.feature
--
diff --git a/gremlin-test/features/filter/Dedup.feature 
b/gremlin-test/features/filter/Dedup.feature
new file mode 100644
index 

[13/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for AddEdge

2017-11-22 Thread spmallette
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/3a294df1
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3a294df1
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3a294df1

Branch: refs/heads/tp32
Commit: 3a294df142d7608eb8814542d6f9b9e7d24aa986
Parents: c3a3848
Author: Stephen Mallette 
Authored: Wed Nov 1 15:36:23 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 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/3a294df1/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/3a294df1/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/3a294df1/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
+++ 

[38/50] tinkerpop git commit: TINKERPOP-1784 Removed duplicate entry from bad merge in changelog

2017-11-22 Thread spmallette
TINKERPOP-1784 Removed duplicate entry from bad merge in changelog


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

Branch: refs/heads/master
Commit: 33258993494225f61697fc8fe58d3b54d59766f8
Parents: 2b24f58
Author: Stephen Mallette 
Authored: Fri Nov 10 20:13:12 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 CHANGELOG.asciidoc | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33258993/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index cb2779a..d722066 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -30,7 +30,6 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of 
`setOutE` and `setOutV`.
 * Added test framework for GLVs.
-* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated 
self-edges on `BOTH`.
 * Better respected permissions on the `plugins.txt` file and prevented writing 
if marked as read-only.
 * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, 
`LambdaFlatMapStep` and `LambdaSideEffectStep`.



[26/50] tinkerpop git commit: TINKERPOP-1784 Renamed loops() feature test to match the step name

2017-11-22 Thread spmallette
TINKERPOP-1784 Renamed loops() feature test to match the step name


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

Branch: refs/heads/master
Commit: 26779e1904d24db9702c9a4b98f5107b930bf49f
Parents: 9910519
Author: Stephen Mallette 
Authored: Fri Nov 10 12:56:34 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Loop.feature  | 68 
 gremlin-test/features/map/Loops.feature | 68 
 2 files changed, 68 insertions(+), 68 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26779e19/gremlin-test/features/map/Loop.feature
--
diff --git a/gremlin-test/features/map/Loop.feature 
b/gremlin-test/features/map/Loop.feature
deleted file mode 100644
index efd439f..000
--- a/gremlin-test/features/map/Loop.feature
+++ /dev/null
@@ -1,68 +0,0 @@
-# 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 - loop()
-
-  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX
-Given the modern graph
-And using the parameter v1Id defined as "v[marko].id"
-And the traversal of
-  """
-  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").or().loops().is(3)).has("name", "peter").path().by("name")
-  """
-When iterated to list
-Then the result should be unordered
-  | result |
-  | p[marko,lop,peter] |
-  | p[marko,josh,lop,peter] |
-
-  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX
-Given the modern graph
-And using the parameter v1Id defined as "v[marko].id"
-And the traversal of
-  """
-  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").or().loops().is(2)).has("name", "peter").path().by("name")
-  """
-When iterated to list
-Then the result should be unordered
-  | result |
-  | p[marko,lop,peter] |
-
-  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX
-Given the modern graph
-And using the parameter v1Id defined as "v[marko].id"
-And the traversal of
-  """
-  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").and().loops().is(3)).has("name", "peter").path().by("name")
-  """
-When iterated to list
-Then the result should be unordered
-  | result |
-  | p[marko,josh,lop,peter] |
-
-  Scenario: g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX
-Given the modern graph
-And the traversal of
-  """
-  g.V().emit(__.has("name", 
"marko").or().loops().is(2)).repeat(__.out()).values("name")
-  """
-When iterated to list
-Then the result should be unordered
-  | result |
-  | marko |
-  | ripple |
-  | lop |

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26779e19/gremlin-test/features/map/Loops.feature
--
diff --git a/gremlin-test/features/map/Loops.feature 
b/gremlin-test/features/map/Loops.feature
new file mode 100644
index 000..b8a70ae
--- /dev/null
+++ b/gremlin-test/features/map/Loops.feature
@@ -0,0 +1,68 @@
+# 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 

[04/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for loop() and map()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for loop() and map()


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

Branch: refs/heads/tp32
Commit: 8f0b8f7a7c4455f92cd1384720262f068c8f8be6
Parents: 75d1e27
Author: Stephen Mallette 
Authored: Thu Nov 2 11:59:10 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Loop.feature |  68 ++
 gremlin-test/features/map/Map.feature  | 108 
 2 files changed, 176 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f0b8f7a/gremlin-test/features/map/Loop.feature
--
diff --git a/gremlin-test/features/map/Loop.feature 
b/gremlin-test/features/map/Loop.feature
new file mode 100644
index 000..efd439f
--- /dev/null
+++ b/gremlin-test/features/map/Loop.feature
@@ -0,0 +1,68 @@
+# 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 - loop()
+
+  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").or().loops().is(3)).has("name", "peter").path().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | p[marko,lop,peter] |
+  | p[marko,josh,lop,peter] |
+
+  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").or().loops().is(2)).has("name", "peter").path().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | p[marko,lop,peter] |
+
+  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").and().loops().is(3)).has("name", "peter").path().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | p[marko,josh,lop,peter] |
+
+  Scenario: g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX
+Given the modern graph
+And the traversal of
+  """
+  g.V().emit(__.has("name", 
"marko").or().loops().is(2)).repeat(__.out()).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko |
+  | ripple |
+  | lop |

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f0b8f7a/gremlin-test/features/map/Map.feature
--
diff --git a/gremlin-test/features/map/Map.feature 
b/gremlin-test/features/map/Map.feature
new file mode 100644
index 000..573b404
--- /dev/null
+++ b/gremlin-test/features/map/Map.feature
@@ -0,0 +1,108 @@
+# 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,

[06/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for coalesce()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for coalesce()


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

Branch: refs/heads/tp32
Commit: e9ee40ff808253ad52655c3533ca9e81c97a73ea
Parents: 3a294df
Author: Stephen Mallette 
Authored: Thu Nov 2 07:52:49 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Coalesce.feature | 78 +
 1 file changed, 78 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e9ee40ff/gremlin-test/features/map/Coalesce.feature
--
diff --git a/gremlin-test/features/map/Coalesce.feature 
b/gremlin-test/features/map/Coalesce.feature
new file mode 100644
index 000..f7786ff
--- /dev/null
+++ b/gremlin-test/features/map/Coalesce.feature
@@ -0,0 +1,78 @@
+# 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 - coalesce()
+
+  Scenario: g_V_coalesceXoutXfooX_outXbarXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().coalesce(__.out("foo"), __.out("bar"))
+  """
+When iterated to list
+Then the result should be empty
+
+  Scenario: g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).coalesce(__.out("knows"), __.out("created")).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | vadas |
+  | josh |
+
+  Scenario: g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).coalesce(__.out("created"), __.out("knows")).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | lop |
+
+  Scenario: g_V_coalesceXoutXlikesX_outXknowsX_inXcreatedXX_groupCount_byXnameX
+Given the modern graph
+And the traversal of
+  """
+  g.V().coalesce(__.out("likes"), __.out("knows"), 
__.out("created")).groupCount().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":1, "vadas":1, "josh":1, "lop":2}] |
+
+  Scenario: 
g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX
+Given the modern graph
+And the traversal of
+  """
+  g.V().coalesce(__.outE("knows"), 
__.outE("created")).otherV().path().by("name").by(T.label)
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | p[marko,knows,vadas] |
+  | p[marko,knows,josh] |
+  | p[josh,created,ripple] |
+  | p[josh,created,lop] |
+  | p[peter,created,lop] |



[33/50] tinkerpop git commit: TINKERPOP-1784 Added sum() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added sum() feature tests


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

Branch: refs/heads/master
Commit: 5dd6a240b30c29cd2d2d4625a0415159b191818f
Parents: 447e57c
Author: Stephen Mallette 
Authored: Fri Nov 10 14:36:03 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Sum.feature | 40 ++
 1 file changed, 40 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5dd6a240/gremlin-test/features/map/Sum.feature
--
diff --git a/gremlin-test/features/map/Sum.feature 
b/gremlin-test/features/map/Sum.feature
new file mode 100644
index 000..35571fa
--- /dev/null
+++ b/gremlin-test/features/map/Sum.feature
@@ -0,0 +1,40 @@
+# 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 - sum()
+
+  Scenario: g_V_valuesXageX_sum
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("age").sum()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[123] |
+
+  Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_sumX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").sum())
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":1.0,"lop":1.0}] |
\ No newline at end of file



[03/50] tinkerpop git commit: TINKERPOP-1784 Added tests for project()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added tests for project()


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

Branch: refs/heads/tp32
Commit: 8437c18f9d0845c08106a02f1c3ee07b7b149240
Parents: e0cb76e
Author: Stephen Mallette 
Authored: Fri Oct 20 13:29:41 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:51 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  1 -
 gremlin-test/features/map/Project.feature   | 53 
 .../gremlin/process/FeatureCoverageTest.java|  2 +
 3 files changed, 55 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8437c18f/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 0d71f78..f58f0da 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -76,7 +76,6 @@ def translate_traversal(step):
 
 @when("iterated to list")
 def iterate_the_traversal(step):
-print str(step.context.traversal.bytecode)
 step.context.result = map(lambda x: _convert_results(x), 
step.context.traversal.toList())
 
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8437c18f/gremlin-test/features/map/Project.feature
--
diff --git a/gremlin-test/features/map/Project.feature 
b/gremlin-test/features/map/Project.feature
new file mode 100644
index 000..3d8b9cc
--- /dev/null
+++ b/gremlin-test/features/map/Project.feature
@@ -0,0 +1,53 @@
+# 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 - project()
+
+  Scenario: g_V_hasLabelXpersonX_projectXa_bX_byXoutE_countX_byXageX
+Given the modern graph
+And the traversal of
+  """
+  g.V().hasLabel("person").
+project("a", "b").
+  by(__.outE().count()).
+  by("age")
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"a":3, "b":29}] |
+  | m[{"a":0, "b":27}] |
+  | m[{"a":2, "b":32}] |
+  | m[{"a":1, "b":35}] |
+
+  Scenario: 
g_V_outXcreatedX_projectXa_bX_byXnameX_byXinXcreatedX_countX_order_byXselectXbX__decrX_selectXaX
+Given the modern graph
+And the traversal of
+  """
+  g.V().out("created").
+project("a", "b").
+  by("name").
+  by(__.in("created").count()).
+order().
+  by(__.select("b"), Order.decr).
+select("a")
+  """
+When iterated to list
+Then the result should be unordered
+  | lop |
+  | lop |
+  | lop |
+  | ripple |
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8437c18f/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 09344b4..eb62f77 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
@@ -26,6 +26,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest;
 import 

[41/50] tinkerpop git commit: TINKERPOP-1784 Added validation for traversalSource alias

2017-11-22 Thread spmallette
TINKERPOP-1784 Added validation for traversalSource alias

Ensures that a RemoteConnection in .NET is properly initialized.


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

Branch: refs/heads/master
Commit: a3c981f1c6ae1bc272255d87cc36df36833eac4e
Parents: 5767544
Author: Stephen Mallette 
Authored: Mon Nov 13 07:52:42 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 .../src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a3c981f1/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
--
diff --git 
a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
index 80bd100..8cbd43d 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
@@ -56,7 +56,7 @@ namespace Gremlin.Net.Driver.Remote
 public DriverRemoteConnection(IGremlinClient client, string 
traversalSource)
 {
 _client = client ?? throw new 
ArgumentNullException(nameof(client));
-_traversalSource = traversalSource;
+_traversalSource = traversalSource ?? throw new 
ArgumentNullException(nameof(traversalSource));
 }
 
 /// 



[31/50] tinkerpop git commit: TINKERPOP-1784 Added unfold() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added unfold() feature tests


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

Branch: refs/heads/master
Commit: 4a5b87c5eaf74a114182dc7aa2cb6ced1944571b
Parents: 5dd6a24
Author: Stephen Mallette 
Authored: Fri Nov 10 14:50:32 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Unfold.feature | 76 +++
 1 file changed, 76 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4a5b87c5/gremlin-test/features/map/Unfold.feature
--
diff --git a/gremlin-test/features/map/Unfold.feature 
b/gremlin-test/features/map/Unfold.feature
new file mode 100644
index 000..3a20d08
--- /dev/null
+++ b/gremlin-test/features/map/Unfold.feature
@@ -0,0 +1,76 @@
+# 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 - unfold()
+
+  Scenario: g_V_localXoutE_foldX_unfold
+Given the modern graph
+And the traversal of
+  """
+  g.V().local(__.outE().fold()).unfold()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | e[marko-created->lop] |
+  | e[marko-knows->vadas] |
+  | e[marko-knows->josh] |
+  | e[josh-created->ripple] |
+  | e[josh-created->lop] |
+  | e[peter-created->lop] |
+
+  Scenario: g_V_valueMap_unfold_mapXkeyX
+Given the modern graph
+And using the parameter l defined as "c[it.get().getKey()]"
+And the traversal of
+  """
+  g.V().valueMap().unfold().map(l)
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | name   |
+  | age|
+  | name   |
+  | age|
+  | name   |
+  | lang   |
+  | lang   |
+  | name   |
+  | age|
+  | name   |
+  | name   |
+  | age|
+
+  Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And using the parameter v6Id defined as "v[peter].id"
+And the traversal of
+  """
+  
g.V(v1Id).repeat(__.both().simplePath()).until(__.hasId(v6Id)).path().by("name").unfold()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko |
+  | lop  |
+  | peter |
+  | marko |
+  | josh  |
+  | lop   |
+  | peter |
\ No newline at end of file



[10/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for filter()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for filter()


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

Branch: refs/heads/master
Commit: 77d59ddf9c323842872c875445e35952210784ca
Parents: bd3868b
Author: Stephen Mallette 
Authored: Fri Oct 20 15:13:06 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/Filter.feature | 106 +++
 .../gremlin/process/FeatureCoverageTest.java|   2 +
 2 files changed, 108 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/77d59ddf/gremlin-test/features/filter/Filter.feature
--
diff --git a/gremlin-test/features/filter/Filter.feature 
b/gremlin-test/features/filter/Filter.feature
new file mode 100644
index 000..05e7cea
--- /dev/null
+++ b/gremlin-test/features/filter/Filter.feature
@@ -0,0 +1,106 @@
+# 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 - filter()
+
+  Scenario: g_V_filterXfalseX
+Given the modern graph
+And using the parameter l1 defined as "c[false]"
+And the traversal of
+  """
+  g.V().filter(l1)
+  """
+When iterated to list
+Then the result should be empty
+
+  Scenario: g_V_filterXtrueX
+Given the modern graph
+And using the parameter l1 defined as "c[true]"
+And the traversal of
+  """
+  g.V().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+  | v[vadas] |
+  | v[lop] |
+  | v[josh] |
+  | v[ripple] |
+  | v[peter]  |
+
+  Scenario: g_V_filterXlang_eq_javaX
+Given the modern graph
+And using the parameter l1 defined as 
"c[it.get().property('lang').orElse('none').equals('java')]"
+And the traversal of
+  """
+  g.V().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | v[ripple] |
+  | v[lop]  |
+
+  Scenario: g_VX1X_out_filterXage_gt_30X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And using the parameter l1 defined as 
"c[it.get().property('age').orElse(0) > 30]"
+And the traversal of
+  """
+  g.V(v1Id).out().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | v[josh] |
+
+  Scenario: g_V_filterXname_startsWith_m_OR_name_startsWith_pX
+Given the modern graph
+And using the parameter l1 defined as "c[{name = it.get().value('name'); 
name.startsWith('m') || name.startsWith('p')}]"
+And the traversal of
+  """
+  g.V().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+  | v[peter]  |
+
+  Scenario: g_E_filterXfalseX
+Given the modern graph
+And using the parameter l1 defined as "c[false]"
+And the traversal of
+  """
+  g.E().filter(l1)
+  """
+When iterated to list
+Then the result should be empty
+
+  Scenario: g_E_filterXtrueX
+Given the modern graph
+And using the parameter l1 defined as "c[true]"
+And the traversal of
+  """
+  g.E().filter(l1)
+  """
+When iterated to list
+Then the result should be unordered
+  | e[marko-created->lop] |
+  | e[marko-knows->josh] |
+  | e[marko-knows->vadas] |
+  | e[peter-created->lop] |
+  | e[josh-created->lop] |
+  | e[josh-created->ripple] |
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/77d59ddf/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
 

[11/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for cyclicPath()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for cyclicPath()


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

Branch: refs/heads/master
Commit: a9af53ffa88432a5adefaf93e8df8158151a186f
Parents: d977d6a
Author: Stephen Mallette 
Authored: Tue Oct 24 10:24:40 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/CyclicPath.feature | 50 
 1 file changed, 50 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a9af53ff/gremlin-test/features/filter/CyclicPath.feature
--
diff --git a/gremlin-test/features/filter/CyclicPath.feature 
b/gremlin-test/features/filter/CyclicPath.feature
new file mode 100644
index 000..d07e4ad
--- /dev/null
+++ b/gremlin-test/features/filter/CyclicPath.feature
@@ -0,0 +1,50 @@
+# 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 - cyclicPath()
+
+  Scenario: g_VX1X_outXcreatedX_inXcreatedX_cyclicPath
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").in("created").cyclicPath()
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+
+  Scenario: g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").in("created").cyclicPath().path()
+  """
+When iterated to list
+Then the result should be unordered
+  | p[v[marko],v[lop],v[marko]] |
+
+  Scenario: 
g_VX1X_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_cyclicPath_fromXaX_toXbX_path
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  
g.V(v1Id).as("a").out("created").as("b").in("created").as("c").cyclicPath().from("a").to("b").path()
+  """
+When iterated to list
+Then the result should be empty



[37/50] tinkerpop git commit: TINKERPOP-1784 Added aliasing to .NET driver

2017-11-22 Thread spmallette
TINKERPOP-1784 Added aliasing to .NET driver

Tests were failing as a result of the change to using the mix server 
configuration that had all the graphs. On the way to dealing with that, I 
noticed the driver didn't seem to have aliasing capability which prevented it 
from choosing the correct graph traversal source on the server. For some 
reason, asserting longs on ids seemed to be a problem as well after this change 
and I'm pretty sure it has something to do with the configuration of the 
TinkerGraph in this new mixed mode configuration and not something in 
serialization.


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

Branch: refs/heads/master
Commit: 314ab67b6bff2c33e7d1e0fb93cffd62d638707a
Parents: 3325899
Author: Stephen Mallette 
Authored: Sat Nov 11 06:17:19 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 .../Driver/Remote/DriverRemoteConnection.cs | 16 ++--
 .../DriverRemoteConnection/GraphTraversalTests.cs   |  8 
 .../RemoteConnectionFactory.cs  |  8 +++-
 gremlin-dotnet/test/pom.xml |  6 +-
 4 files changed, 30 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/314ab67b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
--
diff --git 
a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
index 0a8b93f..80bd100 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
@@ -36,15 +36,27 @@ namespace Gremlin.Net.Driver.Remote
 public class DriverRemoteConnection : IRemoteConnection, IDisposable
 {
 private readonly IGremlinClient _client;
+private readonly string _traversalSource;
 
 /// 
 /// Initializes a new .
 /// 
 /// The  that will 
be used for the connection.
 /// Thrown when client is 
null.
-public DriverRemoteConnection(IGremlinClient client)
+public DriverRemoteConnection(IGremlinClient client):this(client, "g")
+{
+}
+
+/// 
+/// Initializes a new .
+/// 
+/// The  that will 
be used for the connection.
+/// The name of the traversal source on 
the server to bind to.
+/// Thrown when client is 
null.
+public DriverRemoteConnection(IGremlinClient client, string 
traversalSource)
 {
 _client = client ?? throw new 
ArgumentNullException(nameof(client));
+_traversalSource = traversalSource;
 }
 
 /// 
@@ -66,7 +78,7 @@ namespace Gremlin.Net.Driver.Remote
 .Processor(Tokens.ProcessorTraversal)
 .OverrideRequestId(requestid)
 .AddArgument(Tokens.ArgsGremlin, bytecode)
-.AddArgument(Tokens.ArgsAliases, new Dictionary {{"g", "g"}})
+.AddArgument(Tokens.ArgsAliases, new Dictionary {{"g", _traversalSource}})
 .Create();
 return await 
_client.SubmitAsync(requestMsg).ConfigureAwait(false);
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/314ab67b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
index 84a44a7..d9c47f1 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
@@ -55,8 +55,8 @@ namespace 
Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection
 
 var vertex = g.V(1).Next();
 
-Assert.Equal(new Vertex((long) 1), vertex);
-Assert.Equal((long) 1, vertex.Id);
+Assert.Equal(new Vertex(1), vertex);
+Assert.Equal(1, vertex.Id);
 }
 
 [Fact]
@@ -68,7 +68,7 @@ namespace 

[05/50] tinkerpop git commit: TINKERPOP-1784 Added flatMap()/fold() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added flatMap()/fold() feature tests


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

Branch: refs/heads/master
Commit: 78fd4fdc8f177ecab960f7d5c94aa6374606cd61
Parents: e9ee40f
Author: Stephen Mallette 
Authored: Thu Nov 2 08:11:48 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  3 +-
 gremlin-test/features/map/FlatMap.feature   | 35 
 gremlin-test/features/map/Fold.feature  | 57 
 3 files changed, 94 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/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 b7050e9..dae6361a 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, Path
 from gremlin_python.process.graph_traversal import __
-from gremlin_python.process.traversal import P, Scope, Column, Order, 
Direction, T, Pick
+from gremlin_python.process.traversal import P, Scope, Column, Order, 
Direction, T, Pick, Operator
 from radish import given, when, then
 from hamcrest import *
 
@@ -218,6 +218,7 @@ def _make_traversal(g, traversal_string, params):
  "P": P,
  "Pick": Pick,
  "Scope": Scope,
+ "Operator": Operator,
  "T": T}
 
 b.update(params)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-test/features/map/FlatMap.feature
--
diff --git a/gremlin-test/features/map/FlatMap.feature 
b/gremlin-test/features/map/FlatMap.feature
new file mode 100644
index 000..7384ee3
--- /dev/null
+++ b/gremlin-test/features/map/FlatMap.feature
@@ -0,0 +1,35 @@
+# 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 - flatMap()
+
+  Scenario: g_V_asXaX_flatMapXselectXaXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().as("a").flatMap(__.select("a"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | v[marko] |
+  | v[vadas] |
+  | v[lop] |
+  | v[josh] |
+  | v[ripple] |
+  | v[peter]  |
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/78fd4fdc/gremlin-test/features/map/Fold.feature
--
diff --git a/gremlin-test/features/map/Fold.feature 
b/gremlin-test/features/map/Fold.feature
new file mode 100644
index 000..1c71b27
--- /dev/null
+++ b/gremlin-test/features/map/Fold.feature
@@ -0,0 +1,57 @@
+# 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 - fold()
+
+  Scenario: g_V_fold
+Given the modern graph
+And the traversal of
+  """
+  

[18/50] tinkerpop git commit: TINKERPOP-1784 Add union() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Add union() feature tests


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

Branch: refs/heads/tp32
Commit: f784e71988183852cdef8713fa66b84f3e332a28
Parents: c45bac7
Author: Stephen Mallette 
Authored: Mon Oct 23 10:58:36 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/branch/Union.feature | 133 
 1 file changed, 133 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f784e719/gremlin-test/features/branch/Union.feature
--
diff --git a/gremlin-test/features/branch/Union.feature 
b/gremlin-test/features/branch/Union.feature
new file mode 100644
index 000..938f51a
--- /dev/null
+++ b/gremlin-test/features/branch/Union.feature
@@ -0,0 +1,133 @@
+# 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 - union()
+
+  Scenario: g_V_unionXout__inX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().union(__.out(), __.in()).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | lop |
+  | vadas |
+  | josh |
+  | marko |
+  | marko |
+  | josh |
+  | peter |
+  | ripple |
+  | lop |
+  | marko |
+  | josh |
+  | lop |
+
+  Scenario: g_VX1X_unionXrepeatXoutX_timesX2X__outX_name
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).union(__.repeat(__.out()).times(2), __.out()).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | ripple |
+  | lop |
+  | lop   |
+  | vadas |
+  | josh  |
+
+  Scenario: g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX
+Given the modern graph
+And the traversal of
+  """
+  g.V().choose(__.label().is("person"), __.union(__.out().values("lang"), 
__.out().values("name")), __.in().label())
+  """
+When iterated to list
+Then the result should be unordered
+  | java   |
+  | lop|
+  | vadas  |
+  | josh   |
+  | person |
+  | person |
+  | person |
+  | java   |
+  | java   |
+  | ripple |
+  | lop|
+  | person |
+  | java   |
+  | lop|
+
+  Scenario: 
g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX_groupCount
+Given the modern graph
+And the traversal of
+  """
+  g.V().choose(__.label().is("person"), __.union(__.out().values("lang"), 
__.out().values("name")), __.in().label()).groupCount()
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"java":4,"ripple":1,"person":4,"vadas":1,"josh":1,"lop":3}] |
+
+  Scenario: 
g_V_unionXrepeatXunionXoutXcreatedX__inXcreatedXX_timesX2X__repeatXunionXinXcreatedX__outXcreatedXX_timesX2XX_label_groupCount
+Given the modern graph
+And the traversal of
+  """
+  g.V().union(__.repeat(__.union(
+__.out("created"),
+__.in("created"))).times(2),
+  __.repeat(__.union(
+__.in("created"),
+__.out("created"))).times(2)).label().groupCount()
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"software":12,"person":20}] |
+
+  Scenario: g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And using the parameter v2Id defined as "v[vadas].id"
+And the traversal of
+  """
+  g.V(v1Id, v2Id).union(__.outE().count(), __.inE().count(), 
__.outE().values("weight").sum())
+  """
+When 

[15/50] tinkerpop git commit: TINKERPOP-1784 Add union() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Add union() feature tests


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

Branch: refs/heads/master
Commit: f784e71988183852cdef8713fa66b84f3e332a28
Parents: c45bac7
Author: Stephen Mallette 
Authored: Mon Oct 23 10:58:36 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/branch/Union.feature | 133 
 1 file changed, 133 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f784e719/gremlin-test/features/branch/Union.feature
--
diff --git a/gremlin-test/features/branch/Union.feature 
b/gremlin-test/features/branch/Union.feature
new file mode 100644
index 000..938f51a
--- /dev/null
+++ b/gremlin-test/features/branch/Union.feature
@@ -0,0 +1,133 @@
+# 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 - union()
+
+  Scenario: g_V_unionXout__inX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().union(__.out(), __.in()).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | lop |
+  | vadas |
+  | josh |
+  | marko |
+  | marko |
+  | josh |
+  | peter |
+  | ripple |
+  | lop |
+  | marko |
+  | josh |
+  | lop |
+
+  Scenario: g_VX1X_unionXrepeatXoutX_timesX2X__outX_name
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).union(__.repeat(__.out()).times(2), __.out()).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | ripple |
+  | lop |
+  | lop   |
+  | vadas |
+  | josh  |
+
+  Scenario: g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX
+Given the modern graph
+And the traversal of
+  """
+  g.V().choose(__.label().is("person"), __.union(__.out().values("lang"), 
__.out().values("name")), __.in().label())
+  """
+When iterated to list
+Then the result should be unordered
+  | java   |
+  | lop|
+  | vadas  |
+  | josh   |
+  | person |
+  | person |
+  | person |
+  | java   |
+  | java   |
+  | ripple |
+  | lop|
+  | person |
+  | java   |
+  | lop|
+
+  Scenario: 
g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX_groupCount
+Given the modern graph
+And the traversal of
+  """
+  g.V().choose(__.label().is("person"), __.union(__.out().values("lang"), 
__.out().values("name")), __.in().label()).groupCount()
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"java":4,"ripple":1,"person":4,"vadas":1,"josh":1,"lop":3}] |
+
+  Scenario: 
g_V_unionXrepeatXunionXoutXcreatedX__inXcreatedXX_timesX2X__repeatXunionXinXcreatedX__outXcreatedXX_timesX2XX_label_groupCount
+Given the modern graph
+And the traversal of
+  """
+  g.V().union(__.repeat(__.union(
+__.out("created"),
+__.in("created"))).times(2),
+  __.repeat(__.union(
+__.in("created"),
+__.out("created"))).times(2)).label().groupCount()
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"software":12,"person":20}] |
+
+  Scenario: g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And using the parameter v2Id defined as "v[vadas].id"
+And the traversal of
+  """
+  g.V(v1Id, v2Id).union(__.outE().count(), __.inE().count(), 
__.outE().values("weight").sum())
+  """
+When 

[35/50] tinkerpop git commit: TINKERPOP-1784 Added sack() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added sack() feature tests


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

Branch: refs/heads/master
Commit: f98036605cfefac5d6a18b8e4e0f9ffeee690323
Parents: 04c903e
Author: Stephen Mallette 
Authored: Fri Nov 10 15:17:20 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:13 2017 -0500

--
 gremlin-test/features/sideEffect/Sack.feature | 71 ++
 1 file changed, 71 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f9803660/gremlin-test/features/sideEffect/Sack.feature
--
diff --git a/gremlin-test/features/sideEffect/Sack.feature 
b/gremlin-test/features/sideEffect/Sack.feature
new file mode 100644
index 000..b0d4cc0
--- /dev/null
+++ b/gremlin-test/features/sideEffect/Sack.feature
@@ -0,0 +1,71 @@
+# 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 - sack()
+
+  Scenario: g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | created |
+  | knows |
+  | knows |
+  | created |
+  | created |
+  | created |
+
+  Scenario: g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[3.5] |
+
+  Scenario: g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[2.0] |
+  | d[1.4] |
+
+  Scenario: g_withSackX0X_V_outE_sackXsum_weightX_inV_sack_sum
+Given an unsupported test
+Then nothing should happen because
+  """
+  This API is deprecated - will not test.
+  """
+
+  Scenario: g_withSackX0X_V_repeatXoutE_sackXsum_weightX_inVX_timesX2X_sack
+Given an unsupported test
+Then nothing should happen because
+  """
+  This API is deprecated - will not test.
+  """
\ No newline at end of file



[01/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for or()

2017-11-22 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/master 65259d2ea -> 04c522018


TINKERPOP-1784 Added feature tests for or()


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

Branch: refs/heads/master
Commit: bd3868b5aaeeaaad98261fe7ab4e31e2abf96c02
Parents: 72e98b6
Author: Stephen Mallette 
Authored: Fri Oct 20 14:06:15 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:51 2017 -0500

--
 gremlin-test/features/filter/Or.feature | 59 
 .../gremlin/process/FeatureCoverageTest.java|  2 +
 2 files changed, 61 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd3868b5/gremlin-test/features/filter/Or.feature
--
diff --git a/gremlin-test/features/filter/Or.feature 
b/gremlin-test/features/filter/Or.feature
new file mode 100644
index 000..111315a
--- /dev/null
+++ b/gremlin-test/features/filter/Or.feature
@@ -0,0 +1,59 @@
+# 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 - or()
+
+  Scenario: g_V_orXhasXage_gt_27X__outE_count_gte_2X_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().or(__.has("age", P.gt(27)), 
__.outE().count().is(P.gte(2l))).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | marko |
+  | josh  |
+  | peter |
+
+  Scenario: g_V_orXoutEXknowsX__hasXlabel_softwareX_or_hasXage_gte_35XX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().or(__.outE("knows"), __.has(T.label, "software").or().has("age", 
P.gte(35))).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | marko |
+  | ripple |
+  | lop  |
+  | peter |
+
+  Scenario: g_V_asXaX_orXselectXaX_selectXaXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().as("a").or(__.select("a"), __.select("a"))
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+  | v[vadas] |
+  | v[lop] |
+  | v[josh] |
+  | v[ripple] |
+  | v[peter]  |
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd3868b5/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 97f1fd6..282d8a8 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
@@ -24,6 +24,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.step.branch.OptionalTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.CoinTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.IsTest;
+import org.apache.tinkerpop.gremlin.process.traversal.step.filter.OrTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.CountTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.PathTest;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.ProjectTest;
@@ -75,6 +76,7 @@ public class FeatureCoverageTest {
 CoinTest.class,
 DropTest.class,
 IsTest.class,
+OrTest.class,
 // map
 CountTest.class,
 PathTest.class,



[44/50] tinkerpop git commit: TINKERPOP-1784 Removed a commented out debug line

2017-11-22 Thread spmallette
TINKERPOP-1784 Removed a commented out debug line


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

Branch: refs/heads/master
Commit: 50f8286e6bafd9ca3b1a92b01b1317e330579e89
Parents: a3c981f
Author: Stephen Mallette 
Authored: Mon Nov 13 07:58:54 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-python/src/main/jython/radish/feature_steps.py | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/50f8286e/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 90b0120..94b0c77 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -227,5 +227,4 @@ def _make_traversal(g, traversal_string, params):
 
 b.update(params)
 
-# print _translate(step.text + " - " + str(b))
 return eval(_translate(traversal_string), b)



[34/50] tinkerpop git commit: TINKERPOP-1784 Added properties() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added properties() feature tests


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

Branch: refs/heads/master
Commit: 447e57c2e2bad029ead63de2227b12db708cbd85
Parents: c7347ab
Author: Stephen Mallette 
Authored: Fri Nov 10 14:31:20 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Properties.feature | 68 +++
 1 file changed, 68 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/447e57c2/gremlin-test/features/map/Properties.feature
--
diff --git a/gremlin-test/features/map/Properties.feature 
b/gremlin-test/features/map/Properties.feature
new file mode 100644
index 000..35ccd77
--- /dev/null
+++ b/gremlin-test/features/map/Properties.feature
@@ -0,0 +1,68 @@
+# 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 - properties()
+
+  Scenario: g_V_hasXageX_propertiesXname_ageX_value
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").properties("name", "age").value()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko |
+  | d[29] |
+  | vadas |
+  | d[27] |
+  | josh  |
+  | d[32] |
+  | peter |
+  | d[35] |
+
+  Scenario: g_V_hasXageX_propertiesXage_nameX_value
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").properties("age", "name").value()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko |
+  | d[29] |
+  | vadas |
+  | d[27] |
+  | josh  |
+  | d[32] |
+  | peter |
+  | d[35] |
+
+  Scenario: g_V_hasXageX_properties_hasXid_nameIdX_value
+Given an unsupported test
+Then nothing should happen because
+  """
+  There is no way to currently get property identifiers on elements.
+  """
+
+  Scenario: g_V_hasXageX_propertiesXnameX
+Given an unsupported test
+Then nothing should happen because
+  """
+  There is no way to currently assert property elements in the test logic.
+  """



[42/50] tinkerpop git commit: TINKERPOP-1784 Updated changelog

2017-11-22 Thread spmallette
TINKERPOP-1784 Updated changelog


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

Branch: refs/heads/master
Commit: 576754415381205936f9a8be5cf50259d13faacb
Parents: 314ab67
Author: Stephen Mallette 
Authored: Sat Nov 11 06:20:32 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 CHANGELOG.asciidoc | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/57675441/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index d722066..5ba7c70 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -30,6 +30,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of 
`setOutE` and `setOutV`.
 * Added test framework for GLVs.
+* Added alias support in the .NET `DriverRemoteConnection`.
 * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated 
self-edges on `BOTH`.
 * Better respected permissions on the `plugins.txt` file and prevented writing 
if marked as read-only.
 * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, 
`LambdaFlatMapStep` and `LambdaSideEffectStep`.



[12/50] tinkerpop git commit: TINKERPOP-1784 Added and() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added and() feature tests


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

Branch: refs/heads/tp32
Commit: d977d6a59660039ff7e6b7251449512744550d53
Parents: 401a44f
Author: Stephen Mallette 
Authored: Tue Oct 24 10:14:09 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/And.feature | 65 +++
 1 file changed, 65 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d977d6a5/gremlin-test/features/filter/And.feature
--
diff --git a/gremlin-test/features/filter/And.feature 
b/gremlin-test/features/filter/And.feature
new file mode 100644
index 000..c47ec6e
--- /dev/null
+++ b/gremlin-test/features/filter/And.feature
@@ -0,0 +1,65 @@
+# 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 - and()
+
+  Scenario: g_V_andXhasXage_gt_27X__outE_count_gte_2X_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().and(__.has("age", P.gt(27)), 
__.outE().count().is(P.gte(2))).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | marko |
+  | josh |
+
+  Scenario: g_V_andXoutE__hasXlabel_personX_and_hasXage_gte_32XX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().and(__.outE(), __.has(T.label, "person").and().has("age", 
P.gte(32))).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | josh |
+  | peter  |
+
+  Scenario: g_V_asXaX_outXknowsX_and_outXcreatedX_inXcreatedX_asXaX_name
+Given the modern graph
+And the traversal of
+  """
+  
g.V().as("a").out("knows").and().out("created").in("created").as("a").values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+
+  Scenario: g_V_asXaX_andXselectXaX_selectXaXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().as("a").and(__.select("a"), __.select("a"))
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+  | v[vadas] |
+  | v[lop] |
+  | v[josh] |
+  | v[ripple] |
+  | v[peter]  |
\ No newline at end of file



[20/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for AddEdge

2017-11-22 Thread spmallette
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/3a294df1
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3a294df1
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3a294df1

Branch: refs/heads/master
Commit: 3a294df142d7608eb8814542d6f9b9e7d24aa986
Parents: c3a3848
Author: Stephen Mallette 
Authored: Wed Nov 1 15:36:23 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 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/3a294df1/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/3a294df1/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/3a294df1/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

[29/50] tinkerpop git commit: TINKERPOP-1784 Added where() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added where() feature tests

This is not complete, but it is enough for now.


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

Branch: refs/heads/master
Commit: 9c93fd7c558933532349aae1d42e84f0afbc
Parents: e67cbdb
Author: Stephen Mallette 
Authored: Fri Nov 10 12:35:04 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/filter/Where.feature | 105 
 1 file changed, 105 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9c93fd7c/gremlin-test/features/filter/Where.feature
--
diff --git a/gremlin-test/features/filter/Where.feature 
b/gremlin-test/features/filter/Where.feature
new file mode 100644
index 000..5c520da
--- /dev/null
+++ b/gremlin-test/features/filter/Where.feature
@@ -0,0 +1,105 @@
+# 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 - where()
+
+  Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_eqXbXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").as("a").out().in().has("age").as("b").select("a", 
"b").where("a", P.eq("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[josh]","b":"v[josh]"}] |
+  | m[{"a":"v[josh]","b":"v[josh]"}] |
+  | m[{"a":"v[peter]","b":"v[peter]"}] |
+
+  Scenario: 
g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_neqXbXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").as("a").out().in().has("age").as("b").select("a", 
"b").where("a", P.neq("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[josh]"}] |
+  | m[{"a":"v[marko]","b":"v[peter]"}] |
+  | m[{"a":"v[josh]","b":"v[marko]"}] |
+  | m[{"a":"v[josh]","b":"v[peter]"}] |
+  | m[{"a":"v[peter]","b":"v[marko]"}] |
+  | m[{"a":"v[peter]","b":"v[josh]"}] |
+
+  Scenario: 
g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").as("a").out().in().has("age").as("b").select("a", 
"b").where(__.as("b").has("name", "marko"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[marko]","b":"v[marko]"}] |
+  | m[{"a":"v[josh]","b":"v[marko]"}] |
+  | m[{"a":"v[peter]","b":"v[marko]"}] |
+
+  Scenario: 
g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("age").as("a").out().in().has("age").as("b").select("a", 
"b").where(__.as("a").out("knows").as("b"))
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"a":"v[marko]","b":"v[josh]"}] |
+
+  Scenario: g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name
+Given the modern graph
+And the traversal of
+  """
+  
g.V().as("a").out("created").where(__.as("a").values("name").is("josh")).in("created").values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | josh |
+  | josh |
+  | marko |
+  | peter |
+
+  Scenario: 
g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX
+Given the modern graph
+And using the parameter l defined as "l[josh,peter]"
+

[28/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for addV()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for addV()

Included Cardinality in imports for test logic


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

Branch: refs/heads/master
Commit: 9910519423bbf89f05f48ec83986ea9e6cec0e4f
Parents: 9c93fd7
Author: Stephen Mallette 
Authored: Fri Nov 10 12:55:01 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |   3 +-
 gremlin-test/features/map/AddVertex.feature | 147 +++
 2 files changed, 149 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99105194/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 6c72bf1..90b0120 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, Path
 from gremlin_python.process.graph_traversal import __
-from gremlin_python.process.traversal import P, Scope, Column, Order, 
Direction, T, Pick, Operator
+from gremlin_python.process.traversal import Cardinality, P, Scope, Column, 
Order, Direction, T, Pick, Operator
 from radish import given, when, then
 from hamcrest import *
 
@@ -215,6 +215,7 @@ def _translate(traversal):
 def _make_traversal(g, traversal_string, params):
 b = {"g": g,
  "__": __,
+ "Cardinality": Cardinality,
  "Column": Column,
  "Direction": Direction,
  "Order": Order,

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99105194/gremlin-test/features/map/AddVertex.feature
--
diff --git a/gremlin-test/features/map/AddVertex.feature 
b/gremlin-test/features/map/AddVertex.feature
new file mode 100644
index 000..3335e29
--- /dev/null
+++ b/gremlin-test/features/map/AddVertex.feature
@@ -0,0 +1,147 @@
+# 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 - addV()
+
+  Scenario: 
g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX
+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").addV("animal").property("age", 
__.select("a").by("age")).property("name", "puppy")
+  """
+When iterated to list
+Then the result should have a 

[25/50] tinkerpop git commit: TINKERPOP-1784 radish bumped version and broke stuff

2017-11-22 Thread spmallette
TINKERPOP-1784 radish bumped version and broke stuff

Tables now return a list of maps that required a header so all feature files 
needed header.


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

Branch: refs/heads/master
Commit: 33146446fe67ff25e378e2025d2b03e2c207d119
Parents: 1588d3e
Author: Stephen Mallette 
Authored: Tue Oct 31 08:24:28 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |  4 +--
 gremlin-python/src/main/jython/setup.py |  2 +-
 gremlin-test/features/branch/Branch.feature |  3 ++
 gremlin-test/features/branch/Choose.feature |  6 
 gremlin-test/features/branch/Local.feature  | 11 +++
 gremlin-test/features/branch/Optional.feature   |  4 +++
 gremlin-test/features/branch/Repeat.feature | 13 
 gremlin-test/features/branch/Union.feature  |  7 
 gremlin-test/features/filter/And.feature|  4 +++
 gremlin-test/features/filter/Coin.feature   |  1 +
 gremlin-test/features/filter/CyclicPath.feature |  2 ++
 gremlin-test/features/filter/Dedup.feature  | 15 +
 gremlin-test/features/filter/Filter.feature |  5 +++
 gremlin-test/features/filter/Has.feature|  2 ++
 gremlin-test/features/filter/Is.feature |  5 +++
 gremlin-test/features/filter/Or.feature |  3 ++
 gremlin-test/features/filter/Range.feature  | 15 +
 gremlin-test/features/filter/SimplePath.feature |  7 ++--
 gremlin-test/features/map/Constant.feature  |  2 ++
 gremlin-test/features/map/Count.feature |  9 ++
 gremlin-test/features/map/Max.feature   |  3 ++
 gremlin-test/features/map/Min.feature   |  3 ++
 gremlin-test/features/map/Path.feature  |  7 
 gremlin-test/features/map/Project.feature   |  2 ++
 gremlin-test/features/map/Select.feature| 20 
 gremlin-test/features/map/ValueMap.feature  |  3 ++
 gremlin-test/features/map/Vertex.feature| 34 +++-
 .../features/sideEffect/Aggregate.feature   |  4 +++
 .../features/sideEffect/GroupCount.feature  | 10 ++
 gremlin-test/features/sideEffect/Inject.feature |  2 ++
 gremlin-test/features/sideEffect/Store.feature  |  3 ++
 31 files changed, 205 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/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 14a0153..b48b7ef 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -168,7 +168,7 @@ def _convert_results(val):
 
 
 def _any_assertion(data, result, ctx):
-converted = [_convert(line[0], ctx) for line in data]
+converted = [_convert(line['result'], ctx) for line in data]
 for r in result:
 assert_that(r, is_in(converted))
 
@@ -182,7 +182,7 @@ def _table_assertion(data, result, ctx, ordered):
 # finds a match in the results for each line of data to assert and then 
removes that item
 # from the list - in the end there should be no items left over and each 
will have been asserted
 for ix, line in enumerate(data):
-val = _convert(line[0], ctx)
+val = _convert(line['result'], ctx)
 
 # clear the labels since we don't define them in .feature files
 if isinstance(val, Path):

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-python/src/main/jython/setup.py
--
diff --git a/gremlin-python/src/main/jython/setup.py 
b/gremlin-python/src/main/jython/setup.py
index 9a66c81..c72a4d3 100644
--- a/gremlin-python/src/main/jython/setup.py
+++ b/gremlin-python/src/main/jython/setup.py
@@ -71,7 +71,7 @@ setup(
 tests_require=[
 'pytest',
 'mock',
-'radish-bdd',
+'radish-bdd==0.8.0',
 'PyHamcrest'
 ],
 install_requires=install_requires,

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/33146446/gremlin-test/features/branch/Branch.feature
--
diff --git a/gremlin-test/features/branch/Branch.feature 
b/gremlin-test/features/branch/Branch.feature
index d306c3b..b8690c6 100644
--- a/gremlin-test/features/branch/Branch.feature
+++ b/gremlin-test/features/branch/Branch.feature
@@ 

[36/50] tinkerpop git commit: TINKERPOP-1784 Updated changelog

2017-11-22 Thread spmallette
TINKERPOP-1784 Updated changelog


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

Branch: refs/heads/master
Commit: 04c903e55c7bba523c1729625b6463a89031e2b4
Parents: 4a5b87c
Author: Stephen Mallette 
Authored: Fri Nov 10 15:17:03 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:13 2017 -0500

--
 CHANGELOG.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/04c903e5/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 918bbd4..cb2779a 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -29,6 +29,8 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bump to Netty 4.0.52
 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of 
`setOutE` and `setOutV`.
+* Added test framework for GLVs.
+* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
 * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated 
self-edges on `BOTH`.
 * Better respected permissions on the `plugins.txt` file and prevented writing 
if marked as read-only.
 * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, 
`LambdaFlatMapStep` and `LambdaSideEffectStep`.



[24/50] tinkerpop git commit: TINKERPOP-1784 Add more tests for group() and cap()

2017-11-22 Thread spmallette
TINKERPOP-1784 Add more tests for group() and cap()


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

Branch: refs/heads/master
Commit: c3a3848d274a04eda8f930f0bfcf964b675f40c0
Parents: 3314644
Author: Stephen Mallette 
Authored: Tue Oct 31 09:23:22 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |   2 +-
 gremlin-test/features/sideEffect/Group.feature  | 244 +++
 .../features/sideEffect/SideEffectCap.feature   |  38 +++
 3 files changed, 283 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3a3848d/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 b48b7ef..b8b31ce 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -149,7 +149,7 @@ def _convert(val, ctx):
 elif isinstance(val, str) and re.match("^e\[.*\]$", val): # parse 
edge
 return ctx.lookup_e["modern"][val[2:-1]]
 elif isinstance(val, str) and re.match("^m\[.*\]$", val): # parse 
json as a map
-return _convert(json.loads(val[2:-1]), ctx)
+return _convert(json.loads(val[2:-1].replace('\\"', '"')), ctx)
 elif isinstance(val, str) and re.match("^p\[.*\]$", val): # parse 
path
 path_objects = list(map((lambda x: _convert(x, ctx)), 
val[2:-1].split(",")))
 return Path([set([])], path_objects)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3a3848d/gremlin-test/features/sideEffect/Group.feature
--
diff --git a/gremlin-test/features/sideEffect/Group.feature 
b/gremlin-test/features/sideEffect/Group.feature
new file mode 100644
index 000..9ba57ec
--- /dev/null
+++ b/gremlin-test/features/sideEffect/Group.feature
@@ -0,0 +1,244 @@
+# 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 - group()
+
+  Scenario: g_V_group_byXnameX
+Given the modern graph
+And the traversal of
+  """
+  g.V().group().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", 
"vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", 
"marko":"l[v[marko]]"}] |
+
+  Scenario: g_V_group_byXnameX_by
+Given the modern graph
+And the traversal of
+  """
+  g.V().group().by("name").by()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", 
"vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", 
"marko":"l[v[marko]]"}] |
+
+  Scenario: g_V_groupXaX_byXnameX_capXaX
+Given the modern graph
+And the traversal of
+  """
+  g.V().group("a").by("name").cap("a")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"ripple":"l[v[ripple]]", "peter":"l[v[peter]]", 
"vadas":"l[v[vadas]]", "josh": "l[v[josh]]", "lop":"l[v[lop]]", 
"marko":"l[v[marko]]"}] |
+
+  Scenario: g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX
+Given the modern graph
+And the traversal of
+  """
+  g.V().has("lang").group("a").by("lang").by("name").out().cap("a")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | m[{"java":["lop","ripple"]}] |
+
+  Scenario: g_V_hasXlangX_group_byXlangX_byXcountX
+Given the modern graph
+And the traversal of
+  """
+  

[23/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for max()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for max()


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

Branch: refs/heads/master
Commit: 5478e5ddca1c228a4df48310a4373dca97192c61
Parents: d55e058
Author: Stephen Mallette 
Authored: Tue Oct 24 13:51:30 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Max.feature | 48 ++
 1 file changed, 48 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5478e5dd/gremlin-test/features/map/Max.feature
--
diff --git a/gremlin-test/features/map/Max.feature 
b/gremlin-test/features/map/Max.feature
new file mode 100644
index 000..c36177d
--- /dev/null
+++ b/gremlin-test/features/map/Max.feature
@@ -0,0 +1,48 @@
+# 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 - max()
+
+  Scenario: g_V_age_max
+Given the modern graph
+And the traversal of
+  """
+  g.V().values("age").max()
+  """
+When iterated to list
+Then the result should be unordered
+  | d[35] |
+
+  Scenario: g_V_repeatXbothX_timesX5X_age_max
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.both()).times(5).values("age").max()
+  """
+When iterated to list
+Then the result should be unordered
+  | d[35] |
+
+  Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX
+Given the modern graph
+And the traversal of
+  """
+  
g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").max())
+  """
+When iterated to list
+Then the result should be unordered
+  | m[{"ripple":1.0,"lop":0.4}] |



[14/50] tinkerpop git commit: TINKERPOP-1784 Added and() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added and() feature tests


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

Branch: refs/heads/master
Commit: d977d6a59660039ff7e6b7251449512744550d53
Parents: 401a44f
Author: Stephen Mallette 
Authored: Tue Oct 24 10:14:09 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/And.feature | 65 +++
 1 file changed, 65 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d977d6a5/gremlin-test/features/filter/And.feature
--
diff --git a/gremlin-test/features/filter/And.feature 
b/gremlin-test/features/filter/And.feature
new file mode 100644
index 000..c47ec6e
--- /dev/null
+++ b/gremlin-test/features/filter/And.feature
@@ -0,0 +1,65 @@
+# 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 - and()
+
+  Scenario: g_V_andXhasXage_gt_27X__outE_count_gte_2X_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().and(__.has("age", P.gt(27)), 
__.outE().count().is(P.gte(2))).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | marko |
+  | josh |
+
+  Scenario: g_V_andXoutE__hasXlabel_personX_and_hasXage_gte_32XX_name
+Given the modern graph
+And the traversal of
+  """
+  g.V().and(__.outE(), __.has(T.label, "person").and().has("age", 
P.gte(32))).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | josh |
+  | peter  |
+
+  Scenario: g_V_asXaX_outXknowsX_and_outXcreatedX_inXcreatedX_asXaX_name
+Given the modern graph
+And the traversal of
+  """
+  
g.V().as("a").out("knows").and().out("created").in("created").as("a").values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+
+  Scenario: g_V_asXaX_andXselectXaX_selectXaXX
+Given the modern graph
+And the traversal of
+  """
+  g.V().as("a").and(__.select("a"), __.select("a"))
+  """
+When iterated to list
+Then the result should be unordered
+  | v[marko] |
+  | v[vadas] |
+  | v[lop] |
+  | v[josh] |
+  | v[ripple] |
+  | v[peter]  |
\ No newline at end of file



[43/50] tinkerpop git commit: TINKERPOP-1784 Killed some whitespace in gremlin-python pom

2017-11-22 Thread spmallette
TINKERPOP-1784 Killed some whitespace in gremlin-python pom


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

Branch: refs/heads/master
Commit: 5286c2042690369c25bda8dd69692ae11b02841e
Parents: 50f8286
Author: Stephen Mallette 
Authored: Mon Nov 13 08:04:28 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:53:14 2017 -0500

--
 gremlin-python/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5286c204/gremlin-python/pom.xml
--
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index d1a4a76..a1aee4a 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -450,7 +450,7 @@ limitations under the License.
   failonerror="true">
 
  
-
  
+
 
 
 



[18/50] tinkerpop git commit: TINKERPOP-1784 Added range() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added range() feature tests


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

Branch: refs/heads/master
Commit: 22e113d1a1e746d87a3da57df16f9f3adc0a6f33
Parents: a5d9977
Author: Stephen Mallette 
Authored: Tue Oct 24 12:17:43 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/filter/Range.feature | 213 
 1 file changed, 213 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/22e113d1/gremlin-test/features/filter/Range.feature
--
diff --git a/gremlin-test/features/filter/Range.feature 
b/gremlin-test/features/filter/Range.feature
new file mode 100644
index 000..d5ea3bc
--- /dev/null
+++ b/gremlin-test/features/filter/Range.feature
@@ -0,0 +1,213 @@
+# 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 - range()
+
+  Scenario: g_VX1X_out_limitX2X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out().limit(2)
+  """
+When iterated to list
+Then the result should be of
+  | v[josh] |
+  | v[vadas] |
+  | v[lop] |
+And should have a result count of 2
+
+  Scenario: g_V_localXoutE_limitX1X_inVX_limitX3X
+Given the modern graph
+And the traversal of
+  """
+  g.V().local(__.outE().limit(1)).inV().limit(3)
+  """
+When iterated to list
+Then the result should be of
+  | v[josh] |
+  | v[vadas] |
+  | v[lop] |
+  | v[ripple] |
+And should have a result count of 3
+
+  Scenario: g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("knows").outE("created").range(0, 1).inV()
+  """
+When iterated to list
+Then the result should be of
+  | v[lop] |
+  | v[ripple] |
+And should have a result count of 1
+
+  Scenario: g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("knows").out("created").range(0, 1)
+  """
+When iterated to list
+Then the result should be of
+  | v[lop] |
+  | v[ripple] |
+And should have a result count of 1
+
+  Scenario: g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").in("created").range(1, 3)
+  """
+When iterated to list
+Then the result should be of
+  | v[marko] |
+  | v[josh] |
+  | v[peter] |
+And should have a result count of 2
+
+  Scenario: get_g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).out("created").inE("created").range(1, 3).outV()
+  """
+When iterated to list
+Then the result should be of
+  | v[marko] |
+  | v[josh] |
+  | v[peter] |
+And should have a result count of 2
+
+  Scenario: get_g_V_repeatXbothX_timesX3X_rangeX5_11X
+Given the modern graph
+And the traversal of
+  """
+  g.V().repeat(__.both()).times(3).range(5, 11)
+  """
+When iterated to list
+Then the result should be of
+  | v[marko] |
+  | v[josh] |
+  | v[peter] |
+  | v[lop] |
+  | v[vadas] |
+  | v[ripple] |
+And should have a result count of 6
+
+  Scenario: 
g_V_asXaX_in_asXaX_in_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_limitXlocal_2X
+Given the modern graph
+And the traversal of
+ 

[06/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for loop() and map()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for loop() and map()


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

Branch: refs/heads/master
Commit: 8f0b8f7a7c4455f92cd1384720262f068c8f8be6
Parents: 75d1e27
Author: Stephen Mallette 
Authored: Thu Nov 2 11:59:10 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Loop.feature |  68 ++
 gremlin-test/features/map/Map.feature  | 108 
 2 files changed, 176 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f0b8f7a/gremlin-test/features/map/Loop.feature
--
diff --git a/gremlin-test/features/map/Loop.feature 
b/gremlin-test/features/map/Loop.feature
new file mode 100644
index 000..efd439f
--- /dev/null
+++ b/gremlin-test/features/map/Loop.feature
@@ -0,0 +1,68 @@
+# 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 - loop()
+
+  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").or().loops().is(3)).has("name", "peter").path().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | p[marko,lop,peter] |
+  | p[marko,josh,lop,peter] |
+
+  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").or().loops().is(2)).has("name", "peter").path().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | p[marko,lop,peter] |
+
+  Scenario: 
g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", 
"peter").and().loops().is(3)).has("name", "peter").path().by("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | p[marko,josh,lop,peter] |
+
+  Scenario: g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX
+Given the modern graph
+And the traversal of
+  """
+  g.V().emit(__.has("name", 
"marko").or().loops().is(2)).repeat(__.out()).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko |
+  | ripple |
+  | lop |

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f0b8f7a/gremlin-test/features/map/Map.feature
--
diff --git a/gremlin-test/features/map/Map.feature 
b/gremlin-test/features/map/Map.feature
new file mode 100644
index 000..573b404
--- /dev/null
+++ b/gremlin-test/features/map/Map.feature
@@ -0,0 +1,108 @@
+# 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 

[19/50] tinkerpop git commit: TINKERPOP-1784 Added dedup() feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Added dedup() feature tests

Reworked test language for asserting counts so that it works better as a 
standalone assertion.


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

Branch: refs/heads/master
Commit: a5d99774e2f6b8dbe312062e99380b5a80873816
Parents: a9af53f
Author: Stephen Mallette 
Authored: Tue Oct 24 11:37:18 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 .../src/main/jython/radish/feature_steps.py |   2 +-
 gremlin-test/features/branch/Local.feature  |  12 +-
 gremlin-test/features/branch/Repeat.feature |   2 +-
 gremlin-test/features/filter/Dedup.feature  | 222 +++
 4 files changed, 230 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/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 2d2ae8d..14a0153 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -112,7 +112,7 @@ def assert_side_effects(step, count, traversal_string):
 assert_that(count, equal_to(t.count().next()))
 
 
-@then("only have a result count of {count:d}")
+@then("should have a result count of {count:d}")
 def assert_count(step, count):
 assert_that(count, equal_to(len(step.context.result)))
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/branch/Local.feature
--
diff --git a/gremlin-test/features/branch/Local.feature 
b/gremlin-test/features/branch/Local.feature
index 53ae3ab..fa12d8c 100644
--- a/gremlin-test/features/branch/Local.feature
+++ b/gremlin-test/features/branch/Local.feature
@@ -73,7 +73,7 @@ Feature: Step - local()
 Then the result should be of
   | vadas |
   | josh  |
-And only have a result count of 1
+And should have a result count of 1
 
   Scenario: g_V_localXbothEXcreatedX_limitX1XX_otherV_name
 Given the modern graph
@@ -88,7 +88,7 @@ Feature: Step - local()
   | ripple |
   | josh   |
   | peter  |
-And only have a result count of 5
+And should have a result count of 5
 
   Scenario: g_VX4X_localXbothEX1_createdX_limitX1XX
 Given the modern graph
@@ -101,7 +101,7 @@ Feature: Step - local()
 Then the result should be of
   | e[josh-created->lop]|
   | e[josh-created->ripple] |
-And only have a result count of 1
+And should have a result count of 1
 
   Scenario: g_VX4X_localXbothEXknows_createdX_limitX1XX
 Given the modern graph
@@ -115,7 +115,7 @@ Feature: Step - local()
   | e[marko-knows->josh]|
   | e[josh-created->lop]|
   | e[josh-created->ripple] |
-And only have a result count of 1
+And should have a result count of 1
 
   Scenario: g_VX4X_localXbothE_limitX1XX_otherV_name
 Given the modern graph
@@ -129,7 +129,7 @@ Feature: Step - local()
   | marko  |
   | ripple |
   | lop|
-And only have a result count of 1
+And should have a result count of 1
 
   Scenario: g_VX4X_localXbothE_limitX2XX_otherV_name
 Given the modern graph
@@ -143,7 +143,7 @@ Feature: Step - local()
   | marko  |
   | ripple |
   | lop|
-And only have a result count of 2
+And should have a result count of 2
 
   Scenario: g_V_localXinEXknowsX_limitX2XX_outV_name
 Given the modern graph

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/branch/Repeat.feature
--
diff --git a/gremlin-test/features/branch/Repeat.feature 
b/gremlin-test/features/branch/Repeat.feature
index e6049b5..6d97fc0 100644
--- a/gremlin-test/features/branch/Repeat.feature
+++ b/gremlin-test/features/branch/Repeat.feature
@@ -68,7 +68,7 @@ Feature: Step - repeat()
   | v[lop] |
   | v[josh] |
   | v[vadas] |
-And only have a result count of 8
+And should have a result count of 8
 
   Scenario: g_VX1X_timesX2X_repeatXoutX_name
 Given the modern graph

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a5d99774/gremlin-test/features/filter/Dedup.feature
--
diff --git a/gremlin-test/features/filter/Dedup.feature 
b/gremlin-test/features/filter/Dedup.feature
new file mode 100644

[04/50] tinkerpop git commit: TINKERPOP-1784 Added feature tests for V()

2017-11-22 Thread spmallette
TINKERPOP-1784 Added feature tests for V()


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

Branch: refs/heads/master
Commit: 75d1e27bb517494df7ab3fdc7ac02a23935ef91d
Parents: 78fd4fd
Author: Stephen Mallette 
Authored: Thu Nov 2 08:58:27 2017 -0400
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:52 2017 -0500

--
 gremlin-test/features/map/Graph.feature | 109 +++
 1 file changed, 109 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/75d1e27b/gremlin-test/features/map/Graph.feature
--
diff --git a/gremlin-test/features/map/Graph.feature 
b/gremlin-test/features/map/Graph.feature
new file mode 100644
index 000..249d6a3
--- /dev/null
+++ b/gremlin-test/features/map/Graph.feature
@@ -0,0 +1,109 @@
+# 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 - V()
+
+  Scenario: g_VX1X_V_valuesXnameX
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V(v1Id).V().values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko  |
+  | vadas |
+  | lop   |
+  | josh |
+  | ripple |
+  | peter  |
+
+  Scenario: g_V_outXknowsX_V_name
+Given the modern graph
+And using the parameter v1Id defined as "v[marko].id"
+And the traversal of
+  """
+  g.V().out("knows").V().values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | marko  |
+  | marko  |
+  | vadas |
+  | vadas |
+  | lop   |
+  | lop   |
+  | josh |
+  | josh |
+  | ripple |
+  | ripple |
+  | peter  |
+  | peter  |
+
+  Scenario: 
g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name
+Given the grateful graph
+And the traversal of
+  """
+  g.V().has("artist", "name", "Garcia").in("sungBy").as("song").
+V().has("artist", "name", 
"Willie_Dixon").in("writtenBy").where(P.eq("song")).values("name")
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | MY BABE |
+  | HOOCHIE COOCHIE MAN |
+
+  Scenario: g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX
+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 software defined as "l[v[lop],v[ripple]]"
+And using the parameter v1Id defined as "v[marko].id"
+And using the parameter v2Id defined as "v[vadas].id"
+   

[32/50] tinkerpop git commit: TINKERPOP-1784 Fixed some badly named feature tests

2017-11-22 Thread spmallette
TINKERPOP-1784 Fixed some badly named feature tests


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

Branch: refs/heads/master
Commit: c7347ab2c61c759f35cbdb0a9e5b81c665f9d271
Parents: 5045a56
Author: Stephen Mallette 
Authored: Fri Nov 10 14:31:01 2017 -0500
Committer: Stephen Mallette 
Committed: Tue Nov 21 15:52:53 2017 -0500

--
 gremlin-test/features/map/Max.feature | 2 +-
 gremlin-test/features/map/Min.feature | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7347ab2/gremlin-test/features/map/Max.feature
--
diff --git a/gremlin-test/features/map/Max.feature 
b/gremlin-test/features/map/Max.feature
index 24cb81a..bb7e3d4 100644
--- a/gremlin-test/features/map/Max.feature
+++ b/gremlin-test/features/map/Max.feature
@@ -39,7 +39,7 @@ Feature: Step - max()
   | result |
   | d[35] |
 
-  Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX
+  Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX
 Given the modern graph
 And the traversal of
   """

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c7347ab2/gremlin-test/features/map/Min.feature
--
diff --git a/gremlin-test/features/map/Min.feature 
b/gremlin-test/features/map/Min.feature
index 172fbaf..c4b86c6 100644
--- a/gremlin-test/features/map/Min.feature
+++ b/gremlin-test/features/map/Min.feature
@@ -39,7 +39,7 @@ Feature: Step - min()
   | result |
   | d[27] |
 
-  Scenario: get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX
+  Scenario: g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX
 Given the modern graph
 And the traversal of
   """



[11/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp32

2017-11-22 Thread jorgebg
Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into 
tp32


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

Branch: refs/heads/TINKERPOP-1489
Commit: f2b4fb980559c8427fa946ad0d5acb42292a0b70
Parents: 65abea5 a451ca5
Author: florianhockmann 
Authored: Wed Nov 1 19:52:35 2017 +0100
Committer: florianhockmann 
Committed: Wed Nov 1 19:52:35 2017 +0100

--
 CHANGELOG.asciidoc|   2 +
 docs/preprocessor/preprocess-file.sh  |   2 +-
 docs/src/recipes/index.asciidoc   |   2 +
 docs/src/recipes/olap-spark-yarn.asciidoc | 157 +
 pom.xml   |   1 +
 spark-gremlin/pom.xml |   5 +-
 6 files changed, 166 insertions(+), 3 deletions(-)
--




[44/50] [abbrv] tinkerpop git commit: Update Javascript GLV

2017-11-22 Thread jorgebg
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2434a649/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
new file mode 100644
index 000..5ee734a1
--- /dev/null
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
@@ -0,0 +1,2095 @@
+/*
+ *  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.
+ */
+ 
+/**
+ * @author Jorge Bay Gondra
+ */
+'use strict';
+
+var t = require('./traversal.js');
+var remote = require('../driver/remote-connection');
+var utils = require('../utils');
+var Bytecode = require('./bytecode');
+var TraversalStrategies = require('./traversal-strategy').TraversalStrategies;
+var inherits = utils.inherits;
+var parseArgs = utils.parseArgs;
+
+/**
+ *
+ * @param {Graph} graph
+ * @param {TraversalStrategies} traversalStrategies
+ * @param {Bytecode} [bytecode]
+ * @constructor
+ */
+function GraphTraversalSource(graph, traversalStrategies, bytecode) {
+  this.graph = graph;
+  this.traversalStrategies = traversalStrategies;
+  this.bytecode = bytecode || new Bytecode();
+}
+
+/**
+ * @param remoteConnection
+ * @returns {GraphTraversalSource}
+ */
+GraphTraversalSource.prototype.withRemote = function (remoteConnection) {
+  var traversalStrategy = new TraversalStrategies(this.traversalStrategies);
+  traversalStrategy.addStrategy(new remote.RemoteStrategy(remoteConnection));
+  return new GraphTraversalSource(this.graph, traversalStrategy, new 
Bytecode(this.bytecode));
+};
+
+/**
+ * Returns the string representation of the GraphTraversalSource.
+ * @returns {string}
+ */
+GraphTraversalSource.prototype.toString = function () {
+  return 'graphtraversalsource[' + this.graph.toString() + ']';
+};
+
+/**
+ * Graph Traversal Source withBulk method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+GraphTraversalSource.prototype.withBulk = function (args) {
+  var b = new Bytecode(this.bytecode).addSource('withBulk', 
parseArgs.apply(null, arguments));
+  return new GraphTraversalSource(this.graph, new 
TraversalStrategies(this.traversalStrategies), b);
+};
+
+/**
+ * Graph Traversal Source withComputer method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+GraphTraversalSource.prototype.withComputer = function (args) {
+  var b = new Bytecode(this.bytecode).addSource('withComputer', 
parseArgs.apply(null, arguments));
+  return new GraphTraversalSource(this.graph, new 
TraversalStrategies(this.traversalStrategies), b);
+};
+
+/**
+ * Graph Traversal Source withPath method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+GraphTraversalSource.prototype.withPath = function (args) {
+  var b = new Bytecode(this.bytecode).addSource('withPath', 
parseArgs.apply(null, arguments));
+  return new GraphTraversalSource(this.graph, new 
TraversalStrategies(this.traversalStrategies), b);
+};
+
+/**
+ * Graph Traversal Source withSack method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+GraphTraversalSource.prototype.withSack = function (args) {
+  var b = new Bytecode(this.bytecode).addSource('withSack', 
parseArgs.apply(null, arguments));
+  return new GraphTraversalSource(this.graph, new 
TraversalStrategies(this.traversalStrategies), b);
+};
+
+/**
+ * Graph Traversal Source withSideEffect method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+GraphTraversalSource.prototype.withSideEffect = function (args) {
+  var b = new Bytecode(this.bytecode).addSource('withSideEffect', 
parseArgs.apply(null, arguments));
+  return new GraphTraversalSource(this.graph, new 
TraversalStrategies(this.traversalStrategies), b);
+};
+
+/**
+ * Graph Traversal Source withStrategies method.
+ * @param {...Object} args
+ * @returns {GraphTraversalSource}
+ */
+GraphTraversalSource.prototype.withStrategies = function (args) {
+  var b = new Bytecode(this.bytecode).addSource('withStrategies', 

[07/50] [abbrv] tinkerpop git commit: Merge branch 'TINKERPOP-1821' into tp32

2017-11-22 Thread jorgebg
Merge branch 'TINKERPOP-1821' into tp32


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

Branch: refs/heads/TINKERPOP-1489
Commit: bef43d6ca54284bf905883032ce168b91c910e36
Parents: f8c1307 5d68ca1
Author: Marko A. Rodriguez 
Authored: Wed Nov 1 08:37:31 2017 -0600
Committer: Marko A. Rodriguez 
Committed: Wed Nov 1 08:37:31 2017 -0600

--
 CHANGELOG.asciidoc  |  1 +
 .../upgrade/release-3.2.x-incubating.asciidoc   | 10 ++
 .../traversal/step/map/GroovyVertexTest.groovy  | 10 ++
 .../process/traversal/step/map/VertexTest.java  | 38 
 .../gremlin/neo4j/structure/Neo4jVertex.java| 25 ++---
 5 files changed, 79 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bef43d6c/CHANGELOG.asciidoc
--
diff --cc CHANGELOG.asciidoc
index 1d41ab9,78b8ac0..76bf96d
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -23,7 -23,7 +23,8 @@@ image::https://raw.githubusercontent.co
  [[release-3-2-7]]
  === TinkerPop 3.2.7 (Release Date: NOT OFFICIALLY RELEASED YET)
  
 +* `TraversalVertexProgram` ``profile()` now accounts for worker iteration in 
`GraphComputer` OLAP.
+ * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated 
self-edges on `BOTH`.
  * Better respected permissions on the `plugins.txt` file and prevented 
writing if marked as read-only.
  * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, 
`LambdaFlatMapStep` and `LambdaSideEffectStep`.
  * Fixed an old hack in `GroovyTranslator` and `PythonTranslator` where 
`Elements` were being mapped to their id only.



  1   2   >