blob: 64ba078c04a35a291e8383d9bbda0439f191ba9a [file] [log] [blame]
# 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 - math()
Scenario: g_V_outE_mathX0_minus_itX_byXweightX
Given the modern graph
And the traversal of
"""
g.V().outE().math("0-_").by("weight")
"""
When iterated to list
Then the result should be unordered
| result |
| d[-0.4].d |
| d[-0.4].d |
| d[-0.5].d |
| d[-1.0].d |
| d[-1.0].d |
| d[-0.2].d |
Scenario: g_V_hasXageX_valueMap_mathXit_plus_itXbyXselectXageX_unfoldXX
Given the modern graph
And the traversal of
"""
g.V().has("age").valueMap().math("_+_").by(__.select("age").unfold())
"""
When iterated to list
Then the result should be unordered
| result |
| d[64.0].d |
| d[58.0].d |
| d[54.0].d |
| d[70.0].d |
Scenario: g_V_asXaX_outXknowsX_asXbX_mathXa_plus_bX_byXageX
Given the modern graph
And the traversal of
"""
g.V().as("a").out("knows").as("b").math("a + b").by("age")
"""
When iterated to list
Then the result should be unordered
| result |
| d[56.0].d |
| d[61.0].d |
Scenario: g_withSideEffectXx_100X_V_age_mathX__plus_xX
Given the modern graph
And using the parameter xx1 defined as "d[100].i"
And the traversal of
"""
g.withSideEffect("x", xx1).V().values("age").math("_ + x")
"""
When iterated to list
Then the result should be unordered
| result |
| d[129.0].d |
| d[127.0].d |
| d[132.0].d |
| d[135.0].d |
Scenario: g_V_asXaX_outXcreatedX_asXbX_mathXb_plus_aX_byXinXcreatedX_countX_byXageX
Given the modern graph
And the traversal of
"""
g.V().as("a").out("created").as("b").math("b + a").by(__.in("created").count()).by("age")
"""
When iterated to list
Then the result should be unordered
| result |
| d[32.0].d |
| d[33.0].d |
| d[35.0].d |
| d[38.0].d |
Scenario: g_withSackX1X_injectX1X_repeatXsackXsumX_byXconstantX1XXX_timesX5X_emit_mathXsin__X_byXsackX
Given the modern graph
And the traversal of
"""
g.withSack(1).inject(1).
repeat(__.sack(Operator.sum).by(__.constant(1))).
times(5).
emit().
math("sin _").by(__.sack())
"""
When iterated to list
Then the result should be unordered
| result |
| d[0.9092974268256817].d |
| d[0.1411200080598672].d |
| d[-0.7568024953079282].d |
| d[-0.9589242746631385].d |
| d[-0.27941549819892586].d |
Scenario: g_V_projectXa_b_cX_byXbothE_weight_sumX_byXbothE_countX_byXnameX_order_byXmathXa_div_bX_descX_selectXcX
Given the modern graph
And the traversal of
"""
g.V().
project("a", "b", "c").
by(__.bothE().values("weight").sum()).
by(__.bothE().count()).
by("name").
order().by(__.math("a / b"), Order.desc).
select("c")
"""
When iterated to list
Then the result should be ordered
| result |
| ripple |
| josh |
| marko |
| vadas |
| lop |
| peter |