This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-3178
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/TINKERPOP-3178 by this push:
     new 3118cdd746 wip
3118cdd746 is described below

commit 3118cdd74682ebbe56e2cc7c2f15dc005865b634
Author: Stephen Mallette <[email protected]>
AuthorDate: Tue Jul 29 09:58:15 2025 -0400

    wip
---
 .../traversal/dsl/graph/GraphTraversal.java        |  8 ++++----
 .../grammar/TraversalMethodVisitorTest.java        |  8 +++++++-
 .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 14 ++++++++++++-
 gremlin-go/driver/cucumber/gremlin.go              | 14 ++++++++++++-
 .../gremlin-javascript/test/cucumber/gremlin.js    | 14 ++++++++++++-
 gremlin-python/src/main/python/radish/gremlin.py   | 14 ++++++++++++-
 .../gremlin/test/features/branch/Choose.feature    | 24 +++++++++++-----------
 7 files changed, 75 insertions(+), 21 deletions(-)

diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index d23f54a292..379de3af7b 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -3353,7 +3353,7 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
      * @since 3.0.0-incubating
      */
     public default <M, E2> GraphTraversal<S, E2> choose(final Function<E, M> 
choiceFunction) {
-        if (choiceFunction instanceof T) choose((T) choiceFunction);
+        if (choiceFunction instanceof T) return choose((T) choiceFunction);
 
         this.asAdmin().getBytecode().addStep(Symbols.choose, choiceFunction);
         return this.asAdmin().addStep(new ChooseStep<>(this.asAdmin(), 
(Traversal.Admin<E, M>) __.map(new FunctionTraverser<>(choiceFunction))));
@@ -3372,7 +3372,7 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
      */
     public default <E2> GraphTraversal<S, E2> choose(final Predicate<E> 
choosePredicate,
                                                      final Traversal<?, E2> 
trueChoice, final Traversal<?, E2> falseChoice) {
-        if (choosePredicate instanceof P) choose((P) choosePredicate, 
trueChoice, falseChoice);
+        if (choosePredicate instanceof P) return choose((P) choosePredicate, 
trueChoice, falseChoice);
 
         this.asAdmin().getBytecode().addStep(Symbols.choose, choosePredicate, 
trueChoice, falseChoice);
         return this.asAdmin().addStep(new ChooseStep<E, E2, 
Boolean>(this.asAdmin(), (Traversal.Admin<E, ?>) __.filter(new 
PredicateTraverser<>(choosePredicate)), (Traversal.Admin<E, E2>) trueChoice, 
(Traversal.Admin<E, E2>) falseChoice));
@@ -3392,7 +3392,7 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
     public default <E2> GraphTraversal<S, E2> choose(final P<E> 
choosePredicate,
                                                      final Traversal<?, E2> 
trueChoice, final Traversal<?, E2> falseChoice) {
         this.asAdmin().getBytecode().addStep(Symbols.choose, choosePredicate, 
trueChoice, falseChoice);
-        return this.asAdmin().addStep(new ChooseStep<E, E2, 
Boolean>(this.asAdmin(), (Traversal.Admin<E, ?>) __.filter(new 
PredicateTraverser<>(choosePredicate)), (Traversal.Admin<E, E2>) trueChoice, 
(Traversal.Admin<E, E2>) falseChoice));
+        return this.asAdmin().addStep(new ChooseStep<E, E2, 
Boolean>(this.asAdmin(), (Traversal.Admin<E, ?>) __.is(choosePredicate), 
(Traversal.Admin<E, E2>) trueChoice, (Traversal.Admin<E, E2>) falseChoice));
     }
 
     /**
@@ -3407,7 +3407,7 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
      */
     public default <E2> GraphTraversal<S, E2> choose(final Predicate<E> 
choosePredicate,
                                                      final Traversal<?, E2> 
trueChoice) {
-        if (choosePredicate instanceof P) choose((P) choosePredicate, 
trueChoice);
+        if (choosePredicate instanceof P) return choose((P) choosePredicate, 
trueChoice);
 
         this.asAdmin().getBytecode().addStep(Symbols.choose, choosePredicate, 
trueChoice);
         return this.asAdmin().addStep(new ChooseStep<E, E2, 
Boolean>(this.asAdmin(), (Traversal.Admin<E, ?>) __.filter(new 
PredicateTraverser<>(choosePredicate)), (Traversal.Admin<E, E2>) trueChoice, 
(Traversal.Admin<E, E2>) __.identity()));
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitorTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitorTest.java
index 6e4a26f5ab..6e7bfa69d8 100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitorTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitorTest.java
@@ -25,6 +25,7 @@ import 
org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.PeerPres
 import 
org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.ShortestPath;
 import org.apache.tinkerpop.gremlin.process.traversal.Operator;
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
+import org.apache.tinkerpop.gremlin.process.traversal.P;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal;
@@ -238,7 +239,12 @@ public class TraversalMethodVisitorTest {
 
     @Test
     public void shouldParseTraversalMethod_choose_Function() throws Exception {
-        compare(g.V().choose((Function) label), eval("g.V().choose(label)"));
+        compare(g.V().choose(label), eval("g.V().choose(label)"));
+    }
+
+    @Test
+    public void shouldParseTraversalMethod_choose_P_Traversal() throws 
Exception {
+        compare(g.V().values("age").choose(P.eq(12), constant("matched")), 
eval("g.V().values(\"age\").choose(P.eq(12), constant(\"matched\"))"));
     }
 
     @Test
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index e11ffb6e45..6fbe3af9fa 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@ -78,7 +78,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                
{"g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(p["xx1"],
 __.Constant<object>("young")).Option(Pick.None, 
__.Constant<object>("old")).GroupCount<object>()}}, 
                {"g_injectX1X_chooseXisX1X__constantX10Xfold__foldX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.Inject<object>(p["xx2"]).Choose<object>(__.Is(p["xx2"]), 
__.Constant<object>(p["xx1"]).Fold(), __.Fold<object>())}}, 
                {"g_injectX2X_chooseXisX1X__constantX10Xfold__foldX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.Inject<object>(p["xx3"]).Choose<object>(__.Is(p["xx2"]), 
__.Constant<object>(p["xx1"]).Fold(), __.Fold<object>())}}, 
-               
{"g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXzXX_optionXnone_constantXzXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(P.Between(26,
 30), __.Constant<object>("x")).Option(P.Between(20, 30), 
__.Constant<object>("y")).Option(Pick.None, __.Constant<object>("z"))}}, 
+               
{"g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXyXX_optionXnone_constantXzXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(P.Between(26,
 30), __.Constant<object>("x")).Option(P.Between(20, 30), 
__.Constant<object>("y")).Option(Pick.None, __.Constant<object>("z"))}}, 
+               
{"g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_orXgtX34XX_constantXxXX_optionXgtX34X_constantXyXX_optionXnone_constantXzXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(P.Between(26,
 30).Or(P.Gt(34)), __.Constant<object>("x")).Option(P.Gt(34), 
__.Constant<object>("y")).Option(Pick.None, __.Constant<object>("z"))}}, 
                
{"g_V_hasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(P.Between(26,
 30), __.Values<object>("name")).Option(Pick.None, 
__.Values<object>("name"))}}, 
                
{"g_V_chooseXhasLabelXpersonX_localXchooseXageX_optionXbetweenX26_30X_name_foldX_optionXnone_name_foldXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Local<object>(__.Choose<object>(__.Values<object>("age")).Option(P.Between(26,
 30), __.Values<object>("name").Fold()).Option(Pick.None, 
__.Values<object>("name").Fold()))}}, 
                
{"g_V_chooseXhasLabelXpersonX_mapXchooseXageX_optionXbetweenX26_30X_name_foldX_optionXnone_name_foldXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Map<object>(__.Choose<object>(__.Values<object>("age")).Option(P.Between(26,
 30), __.Values<object>("name").Fold()).Option(Pick.None, 
__.Values<object>("name").Fold()))}}, 
@@ -87,6 +88,17 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                
{"g_V_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.V().Choose<object>(__.Values<object>("age")).Option(P.Between(26, 
30), __.Values<object>("name")).Option(Pick.None, __.Values<object>("name"))}}, 
                {"g_V_chooseXage_nameX", new List<Func<GraphTraversalSource, 
IDictionary<string, object>, ITraversal>> {(g,p) 
=>g.V().Choose<object>(__.Values<object>("age"), __.Values<object>("name"))}}, 
                {"g_V_chooseXageX_optionXbetweenX26_30X_nameX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.V().Choose<object>(__.Values<object>("age")).Option(P.Between(26, 
30), __.Values<object>("name"))}}, 
+               
{"g_V_hasLabelXpersonX_chooseXoutXcreatedX_count_isXeqX0XX__constantXdidnt_createX__constantXcreatedXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Out("created").Count().Is(P.Eq(0)),
 __.Constant<object>("didnt_create"), __.Constant<object>("created"))}}, 
+               
{"g_V_hasLabelXpersonX_chooseXvaluesXageX_isXgtX30XX__valuesXageX__constantX30XX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Values<object>("age").Is(P.Gt(30)),
 __.Values<object>("age"), __.Constant<object>(30))}}, 
+               
{"g_V_hasLabelXpersonX_chooseXvaluesXageX_isXgtX29XX_and_valuesXageX_isXltX35XX__valuesXnameX__constantXotherXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Values<object>("age").Is(P.Gt(29)).And().Values<object>("age").Is(P.Lt(35)),
 __.Values<object>("name"), __.Constant<object>("other"))}}, 
+               {"g_V_chooseXhasXname_vadasX__valuesXnameX__valuesXageXX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.V().Choose<object>(__.Has("name", "vadas"), 
__.Values<object>("name"), __.Values<object>("age"))}}, 
+               
{"g_V_hasLabelXpersonX_chooseXoutXcreatedX_countX_optionX0__constantXnoneXX_optionX1__constantXoneXX_optionX2__constantXmanyXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Out("created").Count()).Option(p["xx0"],
 __.Constant<object>("none")).Option(p["xx1"], 
__.Constant<object>("one")).Option(p["xx2"], __.Constant<object>("many"))}}, 
+               
{"g_V_hasLabelXpersonX_chooseXlocalXoutXknowsX_countX__optionX0__constantXnoFriendsXX__optionXnone__constantXhasFriendsXXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Choose<object>(__.Local<object>(__.Out("knows").Count())).Option(p["xx0"],
 __.Constant<object>("noFriends")).Option(Pick.None, 
__.Constant<object>("hasFriends"))}}, 
+               
{"g_V_chooseXoutE_countX_optionX0__constantXnoneXX_optionXnone__constantXsomeXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.V().Choose<object>(__.OutE().Count()).Option(p["xx0"], 
__.Constant<object>("none")).Option(Pick.None, __.Constant<object>("some"))}}, 
+               
{"g_V_chooseXlabelX_optionXperson__chooseXageX_optionXP_lt_30__constantXyoungXX_optionXP_gte_30__constantXoldXXX_optionXsoftware__constantXprogramXX_optionXnone__constantXunknownXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.V().Choose<object>(__.Label()).Option("person", 
__.Choose<object>(__.Values<object>("age")).Option(P.Lt(30), 
__.Constant<object>("young")).Option(P.Gte(30), 
__.Constant<object>("old"))).Option("software",  [...]
+               {"g_V_chooseXhasXname_vadasX__valuesXnameXX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.V().Choose<object>(__.Has("name", "vadas"), 
__.Values<object>("name"))}}, 
+               
{"g_V_hasLabelXpersonX_age_chooseXP_eqX29X__valuesXnameX__constantXotherXX", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Values<object>("age").Choose<object>(P.Eq(29), 
__.Constant<object>("matched"), __.Constant<object>("other"))}}, 
+               {"g_V_hasLabelXpersonX_age_chooseXP_eqX29X__valuesXnameXX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().HasLabel("person").Values<object>("age").Choose<object>(P.Eq(29), 
__.Constant<object>("matched"))}}, 
                
{"g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.V().Local<object>(__.Properties<object>("location").Order().By(T.Value, 
Order.Asc).Range<object>(0, 2)).Value<object>()}}, 
                
{"g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.V().Has(T.Label, 
"person").As("a").Local<object>(__.Out("created").As("b")).Select<object>("a", 
"b").By("name").By(T.Id)}}, 
                {"g_V_localXoutE_countX", new List<Func<GraphTraversalSource, 
IDictionary<string, object>, ITraversal>> {(g,p) 
=>g.V().Local<object>(__.OutE().Count())}}, 
diff --git a/gremlin-go/driver/cucumber/gremlin.go 
b/gremlin-go/driver/cucumber/gremlin.go
index 6735c64bf9..724d31d48e 100644
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@ -48,7 +48,8 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     
"g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(p["xx1"], 
gremlingo.T__.Constant("young")).Option(gremlingo.Pick.None, 
gremlingo.T__.Constant("old")).GroupCount()}}, 
     "g_injectX1X_chooseXisX1X__constantX10Xfold__foldX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Inject(p["xx2"]).Choose(gremlingo.T__.Is(p["xx2"]), 
gremlingo.T__.Constant(p["xx1"]).Fold(), gremlingo.T__.Fold())}}, 
     "g_injectX2X_chooseXisX1X__constantX10Xfold__foldX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Inject(p["xx3"]).Choose(gremlingo.T__.Is(p["xx2"]), 
gremlingo.T__.Constant(p["xx1"]).Fold(), gremlingo.T__.Fold())}}, 
-    
"g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXzXX_optionXnone_constantXzXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26,
 30), gremlingo.T__.Constant("x")).Option(gremlingo.P.Between(20, 30), 
gremlingo.T__.Constant("y")).Option(gremlingo.Pick.None, 
gremlingo.T__.Constant("z"))}}, 
+    
"g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXyXX_optionXnone_constantXzXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26,
 30), gremlingo.T__.Constant("x")).Option(gremlingo.P.Between(20, 30), 
gremlingo.T__.Constant("y")).Option(gremlingo.Pick.None, 
gremlingo.T__.Constant("z"))}}, 
+    
"g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_orXgtX34XX_constantXxXX_optionXgtX34X_constantXyXX_optionXnone_constantXzXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26,
 30).Or(gremlingo.P.Gt(34)), 
gremlingo.T__.Constant("x")).Option(gremlingo.P.Gt(34), 
gremlingo.T__.Constant("y")).Option(gremlingo.Pick.None, gremlingo.T__ [...]
     
"g_V_hasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26,
 30), gremlingo.T__.Values("name")).Option(gremlingo.Pick.None, 
gremlingo.T__.Values("name"))}}, 
     
"g_V_chooseXhasLabelXpersonX_localXchooseXageX_optionXbetweenX26_30X_name_foldX_optionXnone_name_foldXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Local(gremlingo.T__.Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26,
 30), gremlingo.T__.Values("name").Fold()).Option(gremlingo.Pick.None, 
gremlingo.T__.Values("name").Fold()))}}, 
     
"g_V_chooseXhasLabelXpersonX_mapXchooseXageX_optionXbetweenX26_30X_name_foldX_optionXnone_name_foldXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Map(gremlingo.T__.Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26,
 30), gremlingo.T__.Values("name").Fold()).Option(gremlingo.Pick.None, 
gremlingo.T__.Values("name").Fold()))}}, 
@@ -57,6 +58,17 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     "g_V_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26, 30), 
gremlingo.T__.Values("name")).Option(gremlingo.Pick.None, 
gremlingo.T__.Values("name"))}}, 
     "g_V_chooseXage_nameX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().Choose(gremlingo.T__.Values("age"), gremlingo.T__.Values("name"))}}, 
     "g_V_chooseXageX_optionXbetweenX26_30X_nameX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26, 30), 
gremlingo.T__.Values("name"))}}, 
+    
"g_V_hasLabelXpersonX_chooseXoutXcreatedX_count_isXeqX0XX__constantXdidnt_createX__constantXcreatedXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Out("created").Count().Is(gremlingo.P.Eq(0)),
 gremlingo.T__.Constant("didnt_create"), gremlingo.T__.Constant("created"))}}, 
+    
"g_V_hasLabelXpersonX_chooseXvaluesXageX_isXgtX30XX__valuesXageX__constantX30XX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Values("age").Is(gremlingo.P.Gt(30)),
 gremlingo.T__.Values("age"), gremlingo.T__.Constant(30))}}, 
+    
"g_V_hasLabelXpersonX_chooseXvaluesXageX_isXgtX29XX_and_valuesXageX_isXltX35XX__valuesXnameX__constantXotherXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Values("age").Is(gremlingo.P.Gt(29)).And().Values("age").Is(gremlingo.P.Lt(35)),
 gremlingo.T__.Values("name"), gremlingo.T__.Constant("other"))}}, 
+    "g_V_chooseXhasXname_vadasX__valuesXnameX__valuesXageXX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Choose(gremlingo.T__.Has("name", 
"vadas"), gremlingo.T__.Values("name"), gremlingo.T__.Values("age"))}}, 
+    
"g_V_hasLabelXpersonX_chooseXoutXcreatedX_countX_optionX0__constantXnoneXX_optionX1__constantXoneXX_optionX2__constantXmanyXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Out("created").Count()).Option(p["xx0"],
 gremlingo.T__.Constant("none")).Option(p["xx1"], 
gremlingo.T__.Constant("one")).Option(p["xx2"], 
gremlingo.T__.Constant("many"))}}, 
+    
"g_V_hasLabelXpersonX_chooseXlocalXoutXknowsX_countX__optionX0__constantXnoFriendsXX__optionXnone__constantXhasFriendsXXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Choose(gremlingo.T__.Local(gremlingo.T__.Out("knows").Count())).Option(p["xx0"],
 gremlingo.T__.Constant("noFriends")).Option(gremlingo.Pick.None, 
gremlingo.T__.Constant("hasFriends"))}}, 
+    
"g_V_chooseXoutE_countX_optionX0__constantXnoneXX_optionXnone__constantXsomeXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().Choose(gremlingo.T__.OutE().Count()).Option(p["xx0"], 
gremlingo.T__.Constant("none")).Option(gremlingo.Pick.None, 
gremlingo.T__.Constant("some"))}}, 
+    
"g_V_chooseXlabelX_optionXperson__chooseXageX_optionXP_lt_30__constantXyoungXX_optionXP_gte_30__constantXoldXXX_optionXsoftware__constantXprogramXX_optionXnone__constantXunknownXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().Choose(gremlingo.T__.Label()).Option("person", 
gremlingo.T__.Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Lt(30), 
gremlingo.T__.Constant("young")).Option(gremlingo.P.Gte(30), gremlingo.T__. 
[...]
+    "g_V_chooseXhasXname_vadasX__valuesXnameXX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Choose(gremlingo.T__.Has("name", 
"vadas"), gremlingo.T__.Values("name"))}}, 
+    
"g_V_hasLabelXpersonX_age_chooseXP_eqX29X__valuesXnameX__constantXotherXX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Values("age").Choose(gremlingo.P.Eq(29), 
gremlingo.T__.Constant("matched"), gremlingo.T__.Constant("other"))}}, 
+    "g_V_hasLabelXpersonX_age_chooseXP_eqX29X__valuesXnameXX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Values("age").Choose(gremlingo.P.Eq(29), 
gremlingo.T__.Constant("matched"))}}, 
     "g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().Local(gremlingo.T__.Properties("location").Order().By(gremlingo.T.Value, 
gremlingo.Order.Asc).Range(0, 2)).Value()}}, 
     
"g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has(gremlingo.T.Label, 
"person").As("a").Local(gremlingo.T__.Out("created").As("b")).Select("a", 
"b").By("name").By(gremlingo.T.Id)}}, 
     "g_V_localXoutE_countX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().Local(gremlingo.T__.OutE().Count())}}, 
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
index 7aa3fce1ec..7dcbc3d394 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
@@ -78,7 +78,8 @@ const gremlins = {
     
g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount:
 [function({g, xx1}) { return 
g.V().hasLabel("person").choose(__.values("age")).option(xx1, 
__.constant("young")).option(Pick.none, __.constant("old")).groupCount() }], 
     g_injectX1X_chooseXisX1X__constantX10Xfold__foldX: [function({g, xx1, 
xx2}) { return g.inject(xx2).choose(__.is(xx2), __.constant(xx1).fold(), 
__.fold()) }], 
     g_injectX2X_chooseXisX1X__constantX10Xfold__foldX: [function({g, xx1, xx3, 
xx2}) { return g.inject(xx3).choose(__.is(xx2), __.constant(xx1).fold(), 
__.fold()) }], 
-    
g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXzXX_optionXnone_constantXzXX:
 [function({g}) { return 
g.V().hasLabel("person").choose(__.values("age")).option(P.between(26, 30), 
__.constant("x")).option(P.between(20, 30), __.constant("y")).option(Pick.none, 
__.constant("z")) }], 
+    
g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXyXX_optionXnone_constantXzXX:
 [function({g}) { return 
g.V().hasLabel("person").choose(__.values("age")).option(P.between(26, 30), 
__.constant("x")).option(P.between(20, 30), __.constant("y")).option(Pick.none, 
__.constant("z")) }], 
+    
g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_orXgtX34XX_constantXxXX_optionXgtX34X_constantXyXX_optionXnone_constantXzXX:
 [function({g}) { return 
g.V().hasLabel("person").choose(__.values("age")).option(P.between(26, 
30).or(P.gt(34)), __.constant("x")).option(P.gt(34), 
__.constant("y")).option(Pick.none, __.constant("z")) }], 
     
g_V_hasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX: 
[function({g}) { return 
g.V().hasLabel("person").choose(__.values("age")).option(P.between(26, 30), 
__.values("name")).option(Pick.none, __.values("name")) }], 
     
g_V_chooseXhasLabelXpersonX_localXchooseXageX_optionXbetweenX26_30X_name_foldX_optionXnone_name_foldXX:
 [function({g}) { return 
g.V().hasLabel("person").local(__.choose(__.values("age")).option(P.between(26, 
30), __.values("name").fold()).option(Pick.none, __.values("name").fold())) }], 
     
g_V_chooseXhasLabelXpersonX_mapXchooseXageX_optionXbetweenX26_30X_name_foldX_optionXnone_name_foldXX:
 [function({g}) { return 
g.V().hasLabel("person").map(__.choose(__.values("age")).option(P.between(26, 
30), __.values("name").fold()).option(Pick.none, __.values("name").fold())) }], 
@@ -87,6 +88,17 @@ const gremlins = {
     g_V_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX: 
[function({g}) { return g.V().choose(__.values("age")).option(P.between(26, 
30), __.values("name")).option(Pick.none, __.values("name")) }], 
     g_V_chooseXage_nameX: [function({g}) { return 
g.V().choose(__.values("age"), __.values("name")) }], 
     g_V_chooseXageX_optionXbetweenX26_30X_nameX: [function({g}) { return 
g.V().choose(__.values("age")).option(P.between(26, 30), __.values("name")) }], 
+    
g_V_hasLabelXpersonX_chooseXoutXcreatedX_count_isXeqX0XX__constantXdidnt_createX__constantXcreatedXX:
 [function({g}) { return 
g.V().hasLabel("person").choose(__.out("created").count().is(P.eq(0)), 
__.constant("didnt_create"), __.constant("created")) }], 
+    
g_V_hasLabelXpersonX_chooseXvaluesXageX_isXgtX30XX__valuesXageX__constantX30XX: 
[function({g}) { return 
g.V().hasLabel("person").choose(__.values("age").is(P.gt(30)), 
__.values("age"), __.constant(30)) }], 
+    
g_V_hasLabelXpersonX_chooseXvaluesXageX_isXgtX29XX_and_valuesXageX_isXltX35XX__valuesXnameX__constantXotherXX:
 [function({g}) { return 
g.V().hasLabel("person").choose(__.values("age").is(P.gt(29)).and().values("age").is(P.lt(35)),
 __.values("name"), __.constant("other")) }], 
+    g_V_chooseXhasXname_vadasX__valuesXnameX__valuesXageXX: [function({g}) { 
return g.V().choose(__.has("name", "vadas"), __.values("name"), 
__.values("age")) }], 
+    
g_V_hasLabelXpersonX_chooseXoutXcreatedX_countX_optionX0__constantXnoneXX_optionX1__constantXoneXX_optionX2__constantXmanyXX:
 [function({g, xx1, xx0, xx2}) { return 
g.V().hasLabel("person").choose(__.out("created").count()).option(xx0, 
__.constant("none")).option(xx1, __.constant("one")).option(xx2, 
__.constant("many")) }], 
+    
g_V_hasLabelXpersonX_chooseXlocalXoutXknowsX_countX__optionX0__constantXnoFriendsXX__optionXnone__constantXhasFriendsXXX:
 [function({g, xx0}) { return 
g.V().hasLabel("person").choose(__.local(__.out("knows").count())).option(xx0, 
__.constant("noFriends")).option(Pick.none, __.constant("hasFriends")) }], 
+    
g_V_chooseXoutE_countX_optionX0__constantXnoneXX_optionXnone__constantXsomeXX: 
[function({g, xx0}) { return g.V().choose(__.outE().count()).option(xx0, 
__.constant("none")).option(Pick.none, __.constant("some")) }], 
+    
g_V_chooseXlabelX_optionXperson__chooseXageX_optionXP_lt_30__constantXyoungXX_optionXP_gte_30__constantXoldXXX_optionXsoftware__constantXprogramXX_optionXnone__constantXunknownXX:
 [function({g}) { return g.V().choose(__.label()).option("person", 
__.choose(__.values("age")).option(P.lt(30), 
__.constant("young")).option(P.gte(30), __.constant("old"))).option("software", 
__.constant("program")).option(Pick.none, __.constant("unknown")) }], 
+    g_V_chooseXhasXname_vadasX__valuesXnameXX: [function({g}) { return 
g.V().choose(__.has("name", "vadas"), __.values("name")) }], 
+    g_V_hasLabelXpersonX_age_chooseXP_eqX29X__valuesXnameX__constantXotherXX: 
[function({g}) { return g.V().hasLabel("person").values("age").choose(P.eq(29), 
__.constant("matched"), __.constant("other")) }], 
+    g_V_hasLabelXpersonX_age_chooseXP_eqX29X__valuesXnameXX: [function({g}) { 
return g.V().hasLabel("person").values("age").choose(P.eq(29), 
__.constant("matched")) }], 
     g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value: 
[function({g}) { return 
g.V().local(__.properties("location").order().by(T.value, Order.asc).range(0, 
2)).value() }], 
     
g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX:
 [function({g}) { return g.V().has(T.label, 
"person").as("a").local(__.out("created").as("b")).select("a", 
"b").by("name").by(T.id) }], 
     g_V_localXoutE_countX: [function({g}) { return 
g.V().local(__.outE().count()) }], 
diff --git a/gremlin-python/src/main/python/radish/gremlin.py 
b/gremlin-python/src/main/python/radish/gremlin.py
index 8b646b03a8..8f75a7a844 100644
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@ -51,7 +51,8 @@ world.gremlins = {
     
'g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount':
 [(lambda g, 
xx1=None:g.V().has_label('person').choose(__.values('age')).option(xx1, 
__.constant('young')).option(Pick.none, __.constant('old')).group_count())], 
     'g_injectX1X_chooseXisX1X__constantX10Xfold__foldX': [(lambda g, 
xx1=None,xx2=None:g.inject(xx2).choose(__.is_(xx2), __.constant(xx1).fold(), 
__.fold()))], 
     'g_injectX2X_chooseXisX1X__constantX10Xfold__foldX': [(lambda g, 
xx1=None,xx3=None,xx2=None:g.inject(xx3).choose(__.is_(xx2), 
__.constant(xx1).fold(), __.fold()))], 
-    
'g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXzXX_optionXnone_constantXzXX':
 [(lambda 
g:g.V().has_label('person').choose(__.values('age')).option(P.between(26, 30), 
__.constant('x')).option(P.between(20, 30), __.constant('y')).option(Pick.none, 
__.constant('z')))], 
+    
'g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXyXX_optionXnone_constantXzXX':
 [(lambda 
g:g.V().has_label('person').choose(__.values('age')).option(P.between(26, 30), 
__.constant('x')).option(P.between(20, 30), __.constant('y')).option(Pick.none, 
__.constant('z')))], 
+    
'g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_orXgtX34XX_constantXxXX_optionXgtX34X_constantXyXX_optionXnone_constantXzXX':
 [(lambda 
g:g.V().has_label('person').choose(__.values('age')).option(P.between(26, 
30).or_(P.gt(34)), __.constant('x')).option(P.gt(34), 
__.constant('y')).option(Pick.none, __.constant('z')))], 
     
'g_V_hasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX':
 [(lambda 
g:g.V().has_label('person').choose(__.values('age')).option(P.between(26, 30), 
__.values('name')).option(Pick.none, __.values('name')))], 
     
'g_V_chooseXhasLabelXpersonX_localXchooseXageX_optionXbetweenX26_30X_name_foldX_optionXnone_name_foldXX':
 [(lambda 
g:g.V().has_label('person').local(__.choose(__.values('age')).option(P.between(26,
 30), __.values('name').fold()).option(Pick.none, __.values('name').fold())))], 
     
'g_V_chooseXhasLabelXpersonX_mapXchooseXageX_optionXbetweenX26_30X_name_foldX_optionXnone_name_foldXX':
 [(lambda 
g:g.V().has_label('person').map(__.choose(__.values('age')).option(P.between(26,
 30), __.values('name').fold()).option(Pick.none, __.values('name').fold())))], 
@@ -60,6 +61,17 @@ world.gremlins = {
     'g_V_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX': [(lambda 
g:g.V().choose(__.values('age')).option(P.between(26, 30), 
__.values('name')).option(Pick.none, __.values('name')))], 
     'g_V_chooseXage_nameX': [(lambda g:g.V().choose(__.values('age'), 
__.values('name')))], 
     'g_V_chooseXageX_optionXbetweenX26_30X_nameX': [(lambda 
g:g.V().choose(__.values('age')).option(P.between(26, 30), 
__.values('name')))], 
+    
'g_V_hasLabelXpersonX_chooseXoutXcreatedX_count_isXeqX0XX__constantXdidnt_createX__constantXcreatedXX':
 [(lambda 
g:g.V().has_label('person').choose(__.out('created').count().is_(P.eq(0)), 
__.constant('didnt_create'), __.constant('created')))], 
+    
'g_V_hasLabelXpersonX_chooseXvaluesXageX_isXgtX30XX__valuesXageX__constantX30XX':
 [(lambda g:g.V().has_label('person').choose(__.values('age').is_(P.gt(30)), 
__.values('age'), __.constant(30)))], 
+    
'g_V_hasLabelXpersonX_chooseXvaluesXageX_isXgtX29XX_and_valuesXageX_isXltX35XX__valuesXnameX__constantXotherXX':
 [(lambda 
g:g.V().has_label('person').choose(__.values('age').is_(P.gt(29)).and_().values('age').is_(P.lt(35)),
 __.values('name'), __.constant('other')))], 
+    'g_V_chooseXhasXname_vadasX__valuesXnameX__valuesXageXX': [(lambda 
g:g.V().choose(__.has('name', 'vadas'), __.values('name'), __.values('age')))], 
+    
'g_V_hasLabelXpersonX_chooseXoutXcreatedX_countX_optionX0__constantXnoneXX_optionX1__constantXoneXX_optionX2__constantXmanyXX':
 [(lambda g, 
xx1=None,xx0=None,xx2=None:g.V().has_label('person').choose(__.out('created').count()).option(xx0,
 __.constant('none')).option(xx1, __.constant('one')).option(xx2, 
__.constant('many')))], 
+    
'g_V_hasLabelXpersonX_chooseXlocalXoutXknowsX_countX__optionX0__constantXnoFriendsXX__optionXnone__constantXhasFriendsXXX':
 [(lambda g, 
xx0=None:g.V().has_label('person').choose(__.local(__.out('knows').count())).option(xx0,
 __.constant('noFriends')).option(Pick.none, __.constant('hasFriends')))], 
+    
'g_V_chooseXoutE_countX_optionX0__constantXnoneXX_optionXnone__constantXsomeXX':
 [(lambda g, xx0=None:g.V().choose(__.out_e().count()).option(xx0, 
__.constant('none')).option(Pick.none, __.constant('some')))], 
+    
'g_V_chooseXlabelX_optionXperson__chooseXageX_optionXP_lt_30__constantXyoungXX_optionXP_gte_30__constantXoldXXX_optionXsoftware__constantXprogramXX_optionXnone__constantXunknownXX':
 [(lambda g:g.V().choose(__.label()).option('person', 
__.choose(__.values('age')).option(P.lt(30), 
__.constant('young')).option(P.gte(30), __.constant('old'))).option('software', 
__.constant('program')).option(Pick.none, __.constant('unknown')))], 
+    'g_V_chooseXhasXname_vadasX__valuesXnameXX': [(lambda 
g:g.V().choose(__.has('name', 'vadas'), __.values('name')))], 
+    
'g_V_hasLabelXpersonX_age_chooseXP_eqX29X__valuesXnameX__constantXotherXX': 
[(lambda g:g.V().has_label('person').values('age').choose(P.eq(29), 
__.constant('matched'), __.constant('other')))], 
+    'g_V_hasLabelXpersonX_age_chooseXP_eqX29X__valuesXnameXX': [(lambda 
g:g.V().has_label('person').values('age').choose(P.eq(29), 
__.constant('matched')))], 
     'g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value': [(lambda 
g:g.V().local(__.properties('location').order().by(T.value, 
Order.asc).range_(0, 2)).value())], 
     
'g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX':
 [(lambda g:g.V().has(T.label, 
'person').as_('a').local(__.out('created').as_('b')).select('a', 
'b').by('name').by(T.id_))], 
     'g_V_localXoutE_countX': [(lambda g:g.V().local(__.out_e().count()))], 
diff --git 
a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Choose.feature
 
b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Choose.feature
index 456a77cd3a..152c53afda 100644
--- 
a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Choose.feature
+++ 
b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Choose.feature
@@ -260,9 +260,9 @@ Feature: Step - choose()
     And the traversal of
       """
       g.V().hasLabel("person").
-        local(choose(__.values("age")).
-                option(P.between(26, 30), __.values("name").fold()).
-                option(Pick.none, __.values("name").fold()))
+        local(__.choose(__.values("age")).
+                   option(P.between(26, 30), __.values("name").fold()).
+                   option(Pick.none, __.values("name").fold()))
       """
     When iterated to list
     Then the result should be unordered
@@ -277,9 +277,9 @@ Feature: Step - choose()
     And the traversal of
       """
       g.V().hasLabel("person").
-        map(choose(__.values("age")).
-              option(P.between(26, 30), __.values("name").fold()).
-              option(Pick.none, __.values("name").fold()))
+        map(__.choose(__.values("age")).
+                 option(P.between(26, 30), __.values("name").fold()).
+                 option(Pick.none, __.values("name").fold()))
       """
     When iterated to list
     Then the result should be unordered
@@ -295,9 +295,9 @@ Feature: Step - choose()
     And the traversal of
       """
       g.union(__.V(), __.V()).hasLabel("person").barrier().
-        local(choose(__.values("age")).
-                option(P.between(26, 30), __.values("name").fold()).
-                option(Pick.none, __.values("name").fold()))
+        local(__.choose(__.values("age")).
+                   option(P.between(26, 30), __.values("name").fold()).
+                   option(Pick.none, __.values("name").fold()))
       """
     When iterated to list
     Then the result should be unordered
@@ -313,9 +313,9 @@ Feature: Step - choose()
     And the traversal of
       """
       g.union(__.V(), __.V()).hasLabel("person").barrier().
-        map(choose(__.values("age")).
-              option(P.between(26, 30), __.values("name").fold()).
-              option(Pick.none, __.values("name").fold()))
+        map(__.choose(__.values("age")).
+                 option(P.between(26, 30), __.values("name").fold()).
+                 option(Pick.none, __.values("name").fold()))
       """
     When iterated to list
     Then the result should be unordered


Reply via email to