Github user jorgebay commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/747#discussion_r151456526 --- Diff: gremlin-test/features/branch/Choose.feature --- @@ -0,0 +1,124 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +Feature: Step - choose() + + Scenario: g_V_chooseXout_countX_optionX2L__nameX_optionX3L__valueMapX + Given the modern graph + And the traversal of + """ + g.V().choose(__.out().count()). + option(2L, __.values("name")). + option(3L, __.valueMap()) + """ + When iterated to list + Then the result should be unordered + | result | + | m[{"name":["marko"], "age":[29]}] | --- End diff -- We should specify the expected numeric type when describing map results because it has different meaning across different scenarios, here is an `int32`, below it's also a `int64` (ie: `groupCount()`) and also a `double`. The json literal for numbers could be reserved for `double` (JS `Number` underlying representation) and the rest we could use something like: - `m[{"age":"d[29]"}]`, value is an `int32`. - `m[{"age":"d[29L]"}]`, value is an `int64`. - `m[{"age":29}]`, value is an `double`.
---