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`.


---

Reply via email to