This is an automated email from the ASF dual-hosted git repository. colegreer pushed a commit to branch strategyConstruction in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 5209ccaaab5fbf4f700c2710ffeff15c0b35c68a Author: Cole-Greer <[email protected]> AuthorDate: Thu Sep 19 12:34:38 2024 -0700 add new feature tests --- .../integrated/AdjacentToIncidentStrategy.feature | 80 ++++++++++++++++++++++ .../ByModulatorOptimizationStrategy.feature | 52 ++++++++++++++ .../ComputerFinalizationStrategy.feature | 52 ++++++++++++++ .../ComputerVerificationStrategy.feature | 52 ++++++++++++++ .../features/integrated/ConnectiveStrategy.feature | 46 +++++++++++++ .../test/features/integrated/CountStrategy.feature | 46 +++++++++++++ .../features/integrated/EarlyLimitStrategy.feature | 46 +++++++++++++ .../EdgeLabelVerificationStrategy.feature | 63 +++++++++++++++++ .../features/integrated/ElementIdStrategy.feature | 52 ++++++++++++++ .../integrated/FilterRankingStrategy.feature | 48 +++++++++++++ .../integrated/GraphFilterStrategy.feature | 52 ++++++++++++++ .../integrated/HaltedTraverserStrategy.feature | 69 +++++++++++++++++++ .../integrated/IdentityRemovalStrategy.feature | 52 ++++++++++++++ .../integrated/IncidentToAdjacentStrategy.feature | 52 ++++++++++++++ .../integrated/InlineFilterStrategy.feature | 42 ++++++++++++ .../integrated/LambdaRestrictionStrategy.feature | 54 +++++++++++++++ .../integrated/LazyBarrierStrategy.feature | 42 ++++++++++++ .../integrated/MatchAlgorithmStrategy.feature | 63 +++++++++++++++++ .../integrated/MatchPredicateStrategy.feature | 49 +++++++++++++ .../MessagePassingReductionStrategy.feature | 52 ++++++++++++++ .../features/integrated/OptionsStrategy.feature | 69 +++++++++++++++++++ .../features/integrated/OrderLimitStrategy.feature | 52 ++++++++++++++ .../integrated/PathProcessorStrategy.feature | 53 ++++++++++++++ .../integrated/PathRetractionStrategy.feature | 52 ++++++++++++++ .../integrated/ProductiveByStrategy.feature | 42 ++++++++++++ .../features/integrated/ProfileStrategy.feature | 52 ++++++++++++++ .../integrated/ReferenceElementStrategy.feature | 52 ++++++++++++++ .../integrated/RepeatUnrollStrategy.feature | 44 ++++++++++++ .../ReservedKeysVerificationStrategy.feature | 50 ++++++++++++++ .../test/features/integrated/SeedStrategy.feature | 48 +++++++++++++ .../StandardVerificationStrategy.feature | 52 ++++++++++++++ .../VertexProgramRestrictionStrategy.feature | 63 +++++++++++++++++ .../integrated/VertexProgramStrategy.feature | 52 ++++++++++++++ 33 files changed, 1745 insertions(+) diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/AdjacentToIncidentStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/AdjacentToIncidentStrategy.feature new file mode 100644 index 0000000000..608f9662c3 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/AdjacentToIncidentStrategy.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. + +@StepClassIntegrated +Feature: Step - AdjacentToIncidentStrategy + + @WithAdjacentToIncidentStrategy + Scenario: g_withStrategiesXAdjacentToIncidentStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(AdjacentToIncidentStrategy).V() + """ + 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_withoutStrategiesXAdjacentToIncidentStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(AdjacentToIncidentStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + + @WithAdjacentToIncidentStrategy + Scenario: g_withStrategiesXAdjacentToIncidentStrategyX_V_out_count + Given the modern graph + And the traversal of + """ + g.withStrategies(AdjacentToIncidentStrategy).V().out().count() + """ + When iterated to list + Then the result should be unordered + | result | + | d[6].l | + + @WithAdjacentToIncidentStrategy + Scenario: g_withStrategiesXAdjacentToIncidentStrategyX_V_whereXoutX + Given the modern graph + And the traversal of + """ + g.withStrategies(AdjacentToIncidentStrategy).V().where(__.out()) + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[josh] | + | v[peter] | + + diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ByModulatorOptimizationStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ByModulatorOptimizationStrategy.feature new file mode 100644 index 0000000000..126bf70e1f --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ByModulatorOptimizationStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - ByModulatorOptimizationStrategy + + @WithByModulatorOptimizationStrategy + Scenario: g_withStrategiesXByModulatorOptimizationStrategyX_V_order_byXvaluesXnameXX + Given the modern graph + And the traversal of + """ + g.withStrategies(ByModulatorOptimizationStrategy).V().order().by(values("name")) + """ + When iterated to list + Then the result should be ordered + | result | + | v[josh] | + | v[lop] | + | v[marko] | + | v[peter] | + | v[ripple] | + | v[vadas] | + + Scenario: g_withoutStrategiesXByModulatorOptimizationStrategyX_V_order_byXvaluesXnameXX + Given the modern graph + And the traversal of + """ + g.withoutStrategies(ByModulatorOptimizationStrategy).V().order().by(values("name")) + """ + When iterated to list + Then the result should be ordered + | result | + | v[josh] | + | v[lop] | + | v[marko] | + | v[peter] | + | v[ripple] | + | v[vadas] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ComputerFinalizationStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ComputerFinalizationStrategy.feature new file mode 100644 index 0000000000..80dc757fa0 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ComputerFinalizationStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - ComputerFinalizationStrategy + + @WithComputerFinalizationStrategy + Scenario: g_withStrategiesXComputerFinalizationStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(ComputerFinalizationStrategy).V() + """ + 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_withoutStrategiesXByModulatorOptimizationStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(ComputerFinalizationStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ComputerVerificationStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ComputerVerificationStrategy.feature new file mode 100644 index 0000000000..bd733f5647 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ComputerVerificationStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - ComputerVerificationStrategy + + @WithComputerVerificationStrategy + Scenario: g_withStrategiesXComputerVerificationStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(ComputerVerificationStrategy).V() + """ + 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_withoutStrategiesXComputerVerificationStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(ComputerVerificationStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ConnectiveStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ConnectiveStrategy.feature new file mode 100644 index 0000000000..d716796261 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ConnectiveStrategy.feature @@ -0,0 +1,46 @@ +# 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. + +@StepClassIntegrated +Feature: Step - ConnectiveStrategy + + @WithConnectiveStrategy @GraphComputerVerificationStarGraphExceeded + Scenario: g_withStrategiesXConnectiveStrategyStrategyX_V_hasXname_markoX_or_whereXinXknowsX_hasXname_markoXX + Given the modern graph + And the traversal of + """ + g.withStrategies(ConnectiveStrategy).V().has("name","marko").or().where(in("knows").has("name","marko")) + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[josh] | + +# Scenario: g_withoutStrategiesXConnectiveStrategyX_V_hasXname_markoX_or_whereXinXknowsX_hasXname_markoXX +# Given the modern graph +# And the traversal of +# """ +# g.withoutStrategies(ConnectiveStrategy).V().has("name","marko").or().where(in("knows").has("name","marko")) +# """ +# When iterated to list +# Then the result should be unordered +# | result | +# | v[marko] | +# | v[vadas] | +# | v[josh] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/CountStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/CountStrategy.feature new file mode 100644 index 0000000000..46c26edcb8 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/CountStrategy.feature @@ -0,0 +1,46 @@ +# 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. + +@StepClassIntegrated +Feature: Step - CountStrategy + + @WithCountStrategy + Scenario: g_withStrategiesXCountStrategyX_V_whereXoutE_count_isX0XX + Given the modern graph + And the traversal of + """ + g.withStrategies(CountStrategy).V().where(outE().count().is(0)) + """ + When iterated to list + Then the result should be unordered + | result | + | v[vadas] | + | v[lop] | + | v[ripple] | + + Scenario: g_withoutStrategiesXCountStrategyX_V_whereXoutE_count_isX0XX + Given the modern graph + And the traversal of + """ + g.withoutStrategies(CountStrategy).V().where(outE().count().is(0)) + """ + When iterated to list + Then the result should be unordered + | result | + | v[vadas] | + | v[lop] | + | v[ripple] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/EarlyLimitStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/EarlyLimitStrategy.feature new file mode 100644 index 0000000000..dcbe50be5e --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/EarlyLimitStrategy.feature @@ -0,0 +1,46 @@ +# 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. + +@StepClassIntegrated +Feature: Step - EarlyLimitStrategy + + @WithEarlyLimitStrategy + Scenario: g_withStrategiesXEarlyLimitStrategyX_V_out_order_valueMap_limitX3X_selectXnameX + Given the modern graph + And the traversal of + """ + g.withStrategies(EarlyLimitStrategy).V().out().order().valueMap().limit(3).select("name") + """ + When iterated to list + Then the result should be unordered + | result | + | l[vadas] | + | l[lop] | + | l[lop] | + + Scenario: g_withoutStrategiesXEarlyLimitStrategyX_V_out_order_valueMap_limitX3X_selectXnameX + Given the modern graph + And the traversal of + """ + g.withoutStrategies(EarlyLimitStrategy).V().out().order().valueMap().limit(3).select("name") + """ + When iterated to list + Then the result should be unordered + | result | + | l[vadas] | + | l[lop] | + | l[lop] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/EdgeLabelVerificationStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/EdgeLabelVerificationStrategy.feature new file mode 100644 index 0000000000..4644c624cc --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/EdgeLabelVerificationStrategy.feature @@ -0,0 +1,63 @@ +# 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. + +@StepClassIntegrated +Feature: Step - EdgeLabelVerificationStrategy + + @WithEdgeLabelVerificationStrategy + Scenario: g_withStrategiesXEdgeLabelVerificationStrategyXthrowException_true_logWarning_falseXX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(EdgeLabelVerificationStrategy(throwException: true, logWarning: false)).V().out() + """ + When iterated to list + Then the traversal will raise an error with message containing text of "The provided traversal contains a vertex step without any specified edge label" + + @WithEdgeLabelVerificationStrategy + Scenario: g_withStrategiesXEdgeLabelVerificationStrategyXthrowException_false_logWarning_falseXX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(EdgeLabelVerificationStrategy(throwException: false, logWarning: false)).V().out() + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[lop] | + | v[lop] | + | v[vadas] | + | v[josh] | + | v[ripple] | + + Scenario: g_withoutStrategiesXEdgeLabelVerificationStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(EdgeLabelVerificationStrategy).V().out() + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[lop] | + | v[lop] | + | v[vadas] | + | v[josh] | + | v[ripple] | + diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ElementIdStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ElementIdStrategy.feature new file mode 100644 index 0000000000..337eac6bbe --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ElementIdStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - ElementIdStrategy + + @WithElementIdStrategy + Scenario: g_withStrategiesXElementIdStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(ElementIdStrategy).V() + """ + 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_withoutStrategiesXElementIdStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(ElementIdStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/FilterRankingStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/FilterRankingStrategy.feature new file mode 100644 index 0000000000..3c18eb140f --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/FilterRankingStrategy.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. + +@StepClassIntegrated +Feature: Step - FilterRankingStrategy + + @WithFilterRankingStrategy + Scenario: g_withStrategiesXFilterRankingStrategyX_V_out_order_dedup + Given the modern graph + And the traversal of + """ + g.withStrategies(FilterRankingStrategy).V().out().order().dedup() + """ + When iterated to list + Then the result should be unordered + | result | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + + Scenario: g_withoutStrategiesXFilterRankingStrategyX_V_out_order_dedup + Given the modern graph + And the traversal of + """ + g.withoutStrategies(FilterRankingStrategy).V().out().order().dedup() + """ + When iterated to list + Then the result should be unordered + | result | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/GraphFilterStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/GraphFilterStrategy.feature new file mode 100644 index 0000000000..c4b318e476 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/GraphFilterStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - GraphFilterStrategy + + @WithGraphFilterStrategy + Scenario: g_withStrategiesXGraphFilterStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(GraphFilterStrategy).V() + """ + 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_withoutStrategiesXGraphFilterStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(GraphFilterStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/HaltedTraverserStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/HaltedTraverserStrategy.feature new file mode 100644 index 0000000000..91d80bad39 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/HaltedTraverserStrategy.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. + +@StepClassIntegrated +Feature: Step - HaltedTraverserStrategy + + @WithHaltedTraverserStrategy + Scenario: g_withStrategiesXHaltedTraverserStrategyXDetachedFactoryXX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(HaltedTraverserStrategy(haltedTraverserFactory: "org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory")).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + + @WithHaltedTraverserStrategy + Scenario: g_withStrategiesXHaltedTraverserStrategyXReferenceFactoryXX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(HaltedTraverserStrategy(haltedTraverserFactory: "org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory")).V() + """ + 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_withoutStrategiesXHaltedTraverserStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(HaltedTraverserStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/IdentityRemovalStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/IdentityRemovalStrategy.feature new file mode 100644 index 0000000000..0697bc86ed --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/IdentityRemovalStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - IdentityRemovalStrategy + + @WithIdentityRemovalStrategy + Scenario: g_withStrategiesXIdentityRemovalStrategyX_V_identity_out + Given the modern graph + And the traversal of + """ + g.withStrategies(IdentityRemovalStrategy).V().identity().out() + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[lop] | + | v[lop] | + | v[vadas] | + | v[josh] | + | v[ripple] | + + Scenario: g_withoutStrategiesXIdentityRemovalStrategyX_V_identity_out + Given the modern graph + And the traversal of + """ + g.withoutStrategies(IdentityRemovalStrategy).V().identity().out() + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[lop] | + | v[lop] | + | v[vadas] | + | v[josh] | + | v[ripple] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/IncidentToAdjacentStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/IncidentToAdjacentStrategy.feature new file mode 100644 index 0000000000..0039518055 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/IncidentToAdjacentStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - IncidentToAdjacentStrategy + + @WithIncidentToAdjacentStrategy + Scenario: g_withStrategiesXIncidentToAdjacentStrategyX_V_outE_inV + Given the modern graph + And the traversal of + """ + g.withStrategies(IncidentToAdjacentStrategy).V().outE().inV() + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[lop] | + | v[lop] | + | v[vadas] | + | v[josh] | + | v[ripple] | + + Scenario: g_withoutStrategiesXIncidentToAdjacentStrategyX_V_outE_inV + Given the modern graph + And the traversal of + """ + g.withoutStrategies(IncidentToAdjacentStrategy).V().outE().inV() + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[lop] | + | v[lop] | + | v[vadas] | + | v[josh] | + | v[ripple] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/InlineFilterStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/InlineFilterStrategy.feature new file mode 100644 index 0000000000..7126571b1a --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/InlineFilterStrategy.feature @@ -0,0 +1,42 @@ +# 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. + +@StepClassIntegrated +Feature: Step - InlineFilterStrategy + + @WithInlineFilterStrategy + Scenario: g_withStrategiesXInlineFilterStrategyX_V_filterXhasXname_markoXX + Given the modern graph + And the traversal of + """ + g.withStrategies(InlineFilterStrategy).V().filter(has("name","marko")) + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + + Scenario: g_withoutStrategiesXInlineFilterStrategyX_V_filterXhasXname_markoXX + Given the modern graph + And the traversal of + """ + g.withoutStrategies(InlineFilterStrategy).V().filter(has("name","marko")) + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/LambdaRestrictionStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/LambdaRestrictionStrategy.feature new file mode 100644 index 0000000000..7e6f3efd98 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/LambdaRestrictionStrategy.feature @@ -0,0 +1,54 @@ +# 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. + + +# +@StepClassIntegrated +Feature: Step - LambdaRestrictionStrategy + + @WithLambdaRestrictionStrategy + Scenario: g_withStrategiesXLambdaRestrictionStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(LambdaRestrictionStrategy).V() + """ + 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_withoutStrategiesXLambdaRestrictionStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(LambdaRestrictionStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/LazyBarrierStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/LazyBarrierStrategy.feature new file mode 100644 index 0000000000..c982b47514 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/LazyBarrierStrategy.feature @@ -0,0 +1,42 @@ +# 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. + +@StepClassIntegrated +Feature: Step - LazyBarrierStrategy + + @WithLazyBarrierStrategy + Scenario: g_withStrategiesXLazyBarrierStrategyX_V_out_bothE_count + Given the modern graph + And the traversal of + """ + g.withStrategies(LazyBarrierStrategy).V().out().bothE().count() + """ + When iterated to list + Then the result should be unordered + | result | + | d[14].l | + + Scenario: g_withoutStrategiesXLazyBarrierStrategyX_V_out_bothE_count + Given the modern graph + And the traversal of + """ + g.withoutStrategies(LazyBarrierStrategy).V().out().bothE().count() + """ + When iterated to list + Then the result should be unordered + | result | + | d[14].l | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MatchAlgorithmStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MatchAlgorithmStrategy.feature new file mode 100644 index 0000000000..2b5680941c --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MatchAlgorithmStrategy.feature @@ -0,0 +1,63 @@ +# 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. + +@StepClassIntegrated +Feature: Step - MatchAlgorithmStrategy + + @WithMatchAlgorithmStrategy + Scenario: g_withStrategiesXMatchAlgorithmStrategyXmatchAlgorithm_CountMatchAlgorithmXX_V_matchXa_knows_b__a_created_cX + Given the modern graph + And the traversal of + """ + g.withStrategies(MatchAlgorithmStrategy(matchAlgorithm: "org.apache.tinkerpop.gremlin.process.traversal.step.map.MatchStep$CountMatchAlgorithm")) + .V().match(__.as("a").out("knows").as("b"), + __.as("a").out("created").as("c")) + """ + When iterated to list + Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[vadas]","c":"v[lop]"}] | + | m[{"a":"v[marko]","b":"v[josh]","c":"v[lop]"}] | + + @WithMatchAlgorithmStrategy + Scenario: g_withStrategiesXMatchAlgorithmStrategyXmatchAlgorithm_GreedyMatchAlgorithmXX_V_matchXa_knows_b__a_created_cX + Given the modern graph + And the traversal of + """ + g.withStrategies(MatchAlgorithmStrategy(matchAlgorithm: "org.apache.tinkerpop.gremlin.process.traversal.step.map.MatchStep$GreedyMatchAlgorithm")) + .V().match(__.as("a").out("knows").as("b"), + __.as("a").out("created").as("c")) + """ + When iterated to list + Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[vadas]","c":"v[lop]"}] | + | m[{"a":"v[marko]","b":"v[josh]","c":"v[lop]"}] | + + Scenario: g_withoutStrategiesXMatchAlgorithmStrategyX_V_matchXa_knows_b__a_created_cX + Given the modern graph + And the traversal of + """ + g.withoutStrategies(MatchAlgorithmStrategy) + .V().match(__.as("a").out("knows").as("b"), + __.as("a").out("created").as("c")) + """ + When iterated to list + Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[vadas]","c":"v[lop]"}] | + | m[{"a":"v[marko]","b":"v[josh]","c":"v[lop]"}] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MatchPredicateStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MatchPredicateStrategy.feature new file mode 100644 index 0000000000..bcf6c8cc9f --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MatchPredicateStrategy.feature @@ -0,0 +1,49 @@ +# 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. + +@StepClassIntegrated +Feature: Step - MatchPredicateStrategy + + @WithMatchPredicateStrategy @GraphComputerVerificationStarGraphExceeded + Scenario: g_withStrategiesXMatchPredicateStrategyX_V_matchXa_created_lop_b__b_0created_29_cX_whereXc_repeatXoutX_timesX2XX_selectXa_b_cX + Given the modern graph + And the traversal of + """ + g.withStrategies(MatchPredicateStrategy).V().match(__.as("a").out("created").has("name", "lop").as("b"), + __.as("b").in("created").has("age", 29).as("c")).where(__.as("c").repeat(__.out()).times(2)).select("a", "b", "c") + """ + When iterated to list + Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[lop]","c":"v[marko]"}] | + | m[{"a":"v[josh]","b":"v[lop]","c":"v[marko]"}] | + | m[{"a":"v[peter]","b":"v[lop]","c":"v[marko]"}] | + + @GraphComputerVerificationStarGraphExceeded + Scenario: g_withoutStrategiesXMatchPredicateStrategyX_V_matchXa_created_lop_b__b_0created_29_cX_whereXc_repeatXoutX_timesX2XX_selectXa_b_cX + Given the modern graph + And the traversal of + """ + g.withoutStrategies(MatchPredicateStrategy).V().match(__.as("a").out("created").has("name", "lop").as("b"), + __.as("b").in("created").has("age", 29).as("c")).where(__.as("c").repeat(__.out()).times(2)).select("a", "b", "c") + """ + When iterated to list + Then the result should be unordered + | result | + | m[{"a":"v[marko]","b":"v[lop]","c":"v[marko]"}] | + | m[{"a":"v[josh]","b":"v[lop]","c":"v[marko]"}] | + | m[{"a":"v[peter]","b":"v[lop]","c":"v[marko]"}] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MessagePassingReductionStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MessagePassingReductionStrategy.feature new file mode 100644 index 0000000000..c36adcf659 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/MessagePassingReductionStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - MessagePassingReductionStrategy + + @WithMessagePassingReductionStrategy + Scenario: g_withStrategiesXMessagePassingReductionStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(MessagePassingReductionStrategy).V() + """ + 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_withoutStrategiesXMessagePassingReductionStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(MessagePassingReductionStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/OptionsStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/OptionsStrategy.feature new file mode 100644 index 0000000000..db90e07230 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/OptionsStrategy.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. + +@StepClassIntegrated +Feature: Step - OptionsStrategy + + @WithOptionsStrategy + Scenario: g_withStrategiesXOptionsStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(OptionsStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + + @WithOptionsStrategy + Scenario: g_withStrategiesXOptionsStrategyXmyVar_myValueXX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(OptionsStrategy(myVar: "myValue")).V() + """ + 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_withoutStrategiesXOptionsStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(OptionsStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/OrderLimitStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/OrderLimitStrategy.feature new file mode 100644 index 0000000000..805c1d66c9 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/OrderLimitStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - OrderLimitStrategy + + @WithOrderLimitStrategy + Scenario: g_withStrategiesXOrderLimitStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(OrderLimitStrategy).V() + """ + 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_withoutStrategiesXOrderLimitStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(OrderLimitStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/PathProcessorStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/PathProcessorStrategy.feature new file mode 100644 index 0000000000..6f4f283aac --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/PathProcessorStrategy.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. + +@StepClassIntegrated +Feature: Step - PathProcessorStrategy + + @WithPathProcessorStrategy + Scenario: g_withStrategiesXPathProcessorStrategyX_V_asXaX_selectXaX_byXvaluesXnameXX + Given the modern graph + And the traversal of + """ + g.withStrategies(PathProcessorStrategy).V().as("a").select("a").by(values("name")) + """ + When iterated to list + Then the result should be unordered + | result | + | marko | + | vadas | + | lop | + | josh | + | ripple | + | peter | + + @GraphComputerVerificationReferenceOnly + Scenario: g_withoutStrategiesXPathProcessorStrategyX_V_asXaX_selectXaX_byXvaluesXnameXX + Given the modern graph + And the traversal of + """ + g.withoutStrategies(PathProcessorStrategy).V().as("a").select("a").by(values("name")) + """ + When iterated to list + Then the result should be unordered + | result | + | marko | + | vadas | + | lop | + | josh | + | ripple | + | peter | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/PathRetractionStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/PathRetractionStrategy.feature new file mode 100644 index 0000000000..54e807f5a8 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/PathRetractionStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - PathRetractionStrategy + + @WithPathRetractionStrategy + Scenario: g_withStrategiesXPathRetractionStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(PathRetractionStrategy).V() + """ + 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_withoutStrategiesXPathRetractionStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(PathRetractionStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ProductiveByStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ProductiveByStrategy.feature new file mode 100644 index 0000000000..60bef9dcae --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ProductiveByStrategy.feature @@ -0,0 +1,42 @@ +# 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. + +@StepClassIntegrated +Feature: Step - ProductiveByStrategy + + @WithProductiveByStrategy + Scenario: g_withStrategiesXProductiveByStrategyX_V_group_byXageX_byXnameX + Given the modern graph + And the traversal of + """ + g.withStrategies(ProductiveByStrategy).V().order().by("name").group().by("age").by("name") + """ + When iterated to list + Then the result should be unordered + | result | + | m[{"null":"l[lop,ripple]","d[32].i":"l[josh]","d[35].i":"l[peter]","d[27].i":"l[vadas]","d[29].i":"l[marko]"}] | + + Scenario: g_withoutStrategiesXProductiveByStrategyX_V_group_byXageX_byXnameX + Given the modern graph + And the traversal of + """ + g.withoutStrategies(ProductiveByStrategy).V().group().by("age").by("name") + """ + When iterated to list + Then the result should be unordered + | result | + | m[{"d[32].i":"l[josh]","d[35].i":"l[peter]","d[27].i":"l[vadas]","d[29].i":"l[marko]"}] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ProfileStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ProfileStrategy.feature new file mode 100644 index 0000000000..e51c7a0275 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ProfileStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - ProfileStrategy + + @WithProfileStrategy + Scenario: g_withStrategiesXProfileStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(ProfileStrategy).V() + """ + 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_withoutStrategiesXProfileStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(ProfileStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ReferenceElementStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ReferenceElementStrategy.feature new file mode 100644 index 0000000000..6b50420fa4 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ReferenceElementStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - ReferenceElementStrategy + + @WithReferenceElementStrategy + Scenario: g_withStrategiesXReferenceElementStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(ReferenceElementStrategy).V() + """ + 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_withoutStrategiesXReferenceElementStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(ReferenceElementStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/RepeatUnrollStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/RepeatUnrollStrategy.feature new file mode 100644 index 0000000000..13fd68a8c8 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/RepeatUnrollStrategy.feature @@ -0,0 +1,44 @@ +# 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. + +@StepClassIntegrated +Feature: Step - RepeatUnrollStrategy + + @WithRepeatUnrollStrategy + Scenario: g_withStrategiesXRepeatUnrollStrategyX_V_repeatXoutX_timesX2X + Given the modern graph + And the traversal of + """ + g.withStrategies(RepeatUnrollStrategy).V().repeat(out()).times(2) + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[ripple] | + + Scenario: g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXoutX_timesX2X + Given the modern graph + And the traversal of + """ + g.withoutStrategies(RepeatUnrollStrategy).V().repeat(out()).times(2) + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[ripple] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ReservedKeysVerificationStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ReservedKeysVerificationStrategy.feature new file mode 100644 index 0000000000..88142b0c2d --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/ReservedKeysVerificationStrategy.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. + +@StepClassIntegrated +Feature: Step - ReservedKeysVerificationStrategy + + @WithReservedKeysVerificationStrategy + Scenario: g_withStrategiesXReservedKeysVerificationStrategyXthrowException_trueXX_addVXpersonX_propertyXid_123X_propertyXname_markoX + Given the empty graph + And the traversal of + """ + g.withStrategies(ReservedKeysVerificationStrategy(throwException: true)).addV("person").property("id", 123).property("name", "marko") + """ + When iterated to list + Then the traversal will raise an error with message containing text of "is setting a property key to a reserved word: id" + + @WithReservedKeysVerificationStrategy + Scenario: g_withStrategiesXReservedKeysVerificationStrategyXthrowException_trueXX_addVXpersonX_propertyXage_29X_propertyXname_markoX + Given the empty graph + And the traversal of + """ + g.withStrategies(ReservedKeysVerificationStrategy(throwException: true, keys: ["age"])).addV("person").property("age", 29).property("name", "marko") + """ + When iterated to list + Then the traversal will raise an error with message containing text of "is setting a property key to a reserved word: age" + + Scenario: g_withoutStrategiesXReservedKeysVerificationStrategyX_addVXpersonX_propertyXid_123X_propertyXname_markoX + Given the empty graph + And the traversal of + """ + g.withoutStrategies(ReservedKeysVerificationStrategy).addV("person").property("id", 123).property("name", "marko") + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/SeedStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/SeedStrategy.feature new file mode 100644 index 0000000000..57b76f8325 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/SeedStrategy.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. + +@StepClassIntegrated +Feature: Step - SeedStrategy + + @WithSeedStrategy @InsertionOrderingRequired + Scenario: g_withStrategiesXSeedStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(SeedStrategy(seed: 7)).V().coin(0.5) + """ + When iterated to list + Then the result should be unordered + | result | + | v[lop] | + | v[peter] | + + Scenario: g_withoutStrategiesXSeedStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(SeedStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/StandardVerificationStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/StandardVerificationStrategy.feature new file mode 100644 index 0000000000..623c282019 --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/StandardVerificationStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - StandardVerificationStrategy + + @WithStandardVerificationStrategy + Scenario: g_withStrategiesXStandardVerificationStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(StandardVerificationStrategy).V() + """ + 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_withoutStrategiesXStandardVerificationStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(StandardVerificationStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/VertexProgramRestrictionStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/VertexProgramRestrictionStrategy.feature new file mode 100644 index 0000000000..f840a3c7ba --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/VertexProgramRestrictionStrategy.feature @@ -0,0 +1,63 @@ +# 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. + +@StepClassIntegrated +Feature: Step - VertexProgramRestrictionStrategy + + @WithVertexProgramRestrictionStrategy + Scenario: g_withStrategiesXVertexProgramRestrictionStrategyX_withoutStrategiesXVertexProgramStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(VertexProgramRestrictionStrategy).withoutStrategies(VertexProgramStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | + + @WithVertexProgramRestrictionStrategy @WithVertexProgramStrategy + Scenario: g_withStrategiesXVertexProgramRestrictionStrategy_VertexProgramStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(VertexProgramRestrictionStrategy, VertexProgramStrategy).V() + """ + When iterated to list + Then the traversal will raise an error with message containing text of "The TraversalSource does not allow the use of a GraphComputer" + + @WithVertexProgramStrategy + Scenario: g_withoutStrategiesXVertexProgramRestrictionStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(VertexProgramRestrictionStrategy).withStrategies(VertexProgramStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] | diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/VertexProgramStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/VertexProgramStrategy.feature new file mode 100644 index 0000000000..05940a665f --- /dev/null +++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/VertexProgramStrategy.feature @@ -0,0 +1,52 @@ +# 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. + +@StepClassIntegrated +Feature: Step - VertexProgramStrategy + + @WithVertexProgramStrategy + Scenario: g_withStrategiesXVertexProgramStrategyX_V + Given the modern graph + And the traversal of + """ + g.withStrategies(VertexProgramStrategy).V() + """ + 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_withoutStrategiesXVertexProgramStrategyX_V + Given the modern graph + And the traversal of + """ + g.withoutStrategies(VertexProgramStrategy).V() + """ + When iterated to list + Then the result should be unordered + | result | + | v[marko] | + | v[vadas] | + | v[lop] | + | v[josh] | + | v[ripple] | + | v[peter] |
