Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1784 b520a378e -> 327a51bcb
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/aa700cb0 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/aa700cb0 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/aa700cb0 Branch: refs/heads/TINKERPOP-1784 Commit: aa700cb0d3f7f480ca881cbcf45cfe3cedb58cb3 Parents: b520a37 Author: Stephen Mallette <[email protected]> Authored: Thu Nov 2 08:11:48 2017 -0400 Committer: Stephen Mallette <[email protected]> Committed: Thu Nov 2 08:11:48 2017 -0400 ---------------------------------------------------------------------- .../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/aa700cb0/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/aa700cb0/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 0000000..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/aa700cb0/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 0000000..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 + """ + g.V().fold() + """ + When iterated to list + Then the result should be unordered + | result | + | l[v[marko],v[vadas],v[lop],v[josh],v[ripple],v[peter]] | + + Scenario: g_V_fold_unfold + Given the modern graph + And the traversal of + """ + g.V().fold().unfold() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + + Scenario: g_V_age_foldX0_plusX + Given the modern graph + And the traversal of + """ + g.V().values("age").fold(0, Operator.sum) + """ + When iterated to list + Then the result should be unordered + | result | + | d[123] | +
