Github user jorgebay commented on a diff in the pull request:

    https://github.com/apache/tinkerpop/pull/747#discussion_r150497558
  
    --- Diff: gremlin-python/src/main/jython/radish/feature_steps.py ---
    @@ -0,0 +1,231 @@
    +'''
    +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.
    +'''
    +
    +import json
    +import re
    +from gremlin_python.structure.graph import Graph, Path
    +from gremlin_python.process.graph_traversal import __
    +from gremlin_python.process.traversal import Cardinality, P, Scope, 
Column, Order, Direction, T, Pick, Operator
    +from radish import given, when, then
    +from hamcrest import *
    +
    +regex_and = re.compile(r"([(.,\s])and\(")
    +regex_as = re.compile(r"([(.,\s])as\(")
    +regex_from = re.compile(r"([(.,\s])from\(")
    +regex_global = re.compile(r"([(.,\s])global")
    +regex_in = re.compile(r"([(.,\s])in\(")
    +regex_is = re.compile(r"([(.,\s])is\(")
    +regex_not = re.compile(r"([(.,\s])not\(")
    +regex_or = re.compile(r"([(.,\s])or\(")
    +
    +
    +ignores = [
    +    "g.V(v1Id).out().inject(v2).values(\"name\")"  # bug in attachment 
won't connect v2
    +           ]
    +
    +
    +@given("the {graph_name:w} graph")
    +def choose_graph(step, graph_name):
    +    step.context.g = 
Graph().traversal().withRemote(step.context.remote_conn[graph_name])
    +
    +
    +@given("the graph initializer of")
    +def initialize_graph(step):
    +    traversal = _make_traversal(step.context.g, step.text, {})
    +
    +    # just be sure that the traversal returns something to prove that it 
worked to some degree. probably
    +    # is overkill to try to assert the complete success of this init 
operation. presumably the test
    +    # suite would fail elsewhere if this didn't work which would help 
identify a problem.
    +    assert len(traversal.toList()) > 0
    +
    +
    +@given("an unsupported test")
    +def unsupported_scenario(step):
    +    # this is a do nothing step as the test can't be supported for 
whatever reason
    +    return
    +
    +
    +@given("using the parameter {param_name:w} defined as 
{param:QuotedString}")
    +def add_parameter(step, param_name, param):
    +    if not hasattr(step.context, "traversal_params"):
    +        step.context.traversal_params = {}
    +
    +    step.context.traversal_params[param_name] = _convert(param, 
step.context)
    +
    +
    +@given("the traversal of")
    +def translate_traversal(step):
    +    step.context.ignore = ignores.__contains__(step.text)
    +    step.context.traversal = _make_traversal(
    +        step.context.g, step.text,
    +        step.context.traversal_params if hasattr(step.context, 
"traversal_params") else {})
    +
    +
    +@when("iterated to list")
    +def iterate_the_traversal(step):
    +    step.context.result = map(lambda x: _convert_results(x), 
step.context.traversal.toList())
    +
    +
    +@when("iterated next")
    +def next_the_traversal(step):
    +    step.context.result = map(lambda x: _convert_results(x), 
step.context.traversal.next())
    +
    +
    +@then("the result should be {characterized_as:w}")
    +def assert_result(step, characterized_as):
    +    if step.context.ignore:
    +        return
    +
    +    if characterized_as == "empty":        # no results
    +        assert_that(len(step.context.result), equal_to(0))
    +    elif characterized_as == "ordered":    # results asserted in the order 
of the data table
    +        _table_assertion(step.table, step.context.result, step.context, 
True)
    +    elif characterized_as == "unordered":  # results asserted in any order
    +        _table_assertion(step.table, step.context.result, step.context, 
False)
    +    elif characterized_as == "of":         # results may be of any of the 
specified items in the data table
    +        _any_assertion(step.table, step.context.result, step.context)
    +    else:
    +        raise ValueError("unknown data characterization of " + 
characterized_as)
    +
    +
    +@then("the graph should return {count:d} for count of 
{traversal_string:QuotedString}")
    +def assert_side_effects(step, count, traversal_string):
    +    if step.context.ignore:
    +        return
    +
    +    t = _make_traversal(step.context.g, traversal_string.replace('\\"', 
'"'),
    +                        step.context.traversal_params if 
hasattr(step.context, "traversal_params") else {})
    +    assert_that(count, equal_to(t.count().next()))
    +
    +
    +@then("the result should have a count of {count:d}")
    +def assert_count(step, count):
    +    assert_that(len(step.context.result), equal_to(count))
    +
    +
    +@then("nothing should happen because")
    +def nothing_happening(step):
    +    return
    --- End diff --
    
    Shouldn't this be marked as `ignore` instead of `success`?


---

Reply via email to