287 lines
11 KiB
Gherkin
287 lines
11 KiB
Gherkin
@routing @testbot @mode
|
|
Feature: Testbot - Travel mode
|
|
|
|
# testbot modes:
|
|
# 1 driving
|
|
# 2 route
|
|
# 3 river downstream
|
|
# 4 river upstream
|
|
# 5 steps down
|
|
# 6 steps up
|
|
|
|
Background:
|
|
Given the profile "testbot"
|
|
Given a grid size of 200 meters
|
|
|
|
Scenario: Testbot - Always announce mode change
|
|
Given the node map
|
|
"""
|
|
a b c d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | name |
|
|
| ab | residential | foo |
|
|
| bc | river | foo |
|
|
| cd | residential | foo |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | d | foo,foo,foo,foo | driving,river downstream,driving,driving |
|
|
| b | d | foo,foo,foo | river downstream,driving,driving |
|
|
|
|
Scenario: Testbot - Compressed Modes
|
|
Given the node map
|
|
"""
|
|
a b c d e f g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | name |
|
|
| abc | residential | road |
|
|
| cde | river | liquid |
|
|
| efg | residential | solid |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | g | road,liquid,solid,solid | driving,river downstream,driving,driving |
|
|
| c | g | liquid,solid,solid | river downstream,driving,driving |
|
|
|
|
Scenario: Testbot - Modes in each direction, different forward/backward speeds
|
|
Given the node map
|
|
"""
|
|
0 1
|
|
a b
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| ab | river | |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | 0 | ab,ab | river downstream,river downstream |
|
|
| a | b | ab,ab | river downstream,river downstream |
|
|
| 0 | 1 | ab,ab | river downstream,river downstream |
|
|
| 0 | b | ab,ab | river downstream,river downstream |
|
|
| b | 1 | ab,ab | river upstream,river upstream |
|
|
| b | a | ab,ab | river upstream,river upstream |
|
|
| 1 | 0 | ab,ab | river upstream,river upstream |
|
|
| 1 | a | ab,ab | river upstream,river upstream |
|
|
|
|
Scenario: Testbot - Modes in each direction, same forward/backward speeds
|
|
Given the node map
|
|
"""
|
|
0 1
|
|
a b
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway |
|
|
| ab | steps |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes | time |
|
|
| 0 | 1 | ab,ab | steps down,steps down | 120s +-1 |
|
|
| 1 | 0 | ab,ab | steps up,steps up | 120s +-1 |
|
|
|
|
@oneway
|
|
Scenario: Testbot - Modes for oneway, different forward/backward speeds
|
|
Given the node map
|
|
"""
|
|
a b
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| ab | river | yes |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | b | ab,ab | river downstream,river downstream |
|
|
| b | a | | |
|
|
|
|
@oneway
|
|
Scenario: Testbot - Modes for oneway, same forward/backward speeds
|
|
Given the node map
|
|
"""
|
|
a b
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| ab | steps | yes |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | b | ab,ab | steps down,steps down |
|
|
| b | a | | |
|
|
|
|
@oneway
|
|
Scenario: Testbot - Modes for reverse oneway, different forward/backward speeds
|
|
Given the node map
|
|
"""
|
|
a b
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| ab | river | -1 |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | b | | |
|
|
| b | a | ab,ab | river upstream,river upstream |
|
|
|
|
@oneway
|
|
Scenario: Testbot - Modes for reverse oneway, same forward/backward speeds
|
|
Given the node map
|
|
"""
|
|
a b
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| ab | steps | -1 |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | b | | |
|
|
| b | a | ab,ab | steps up,steps up |
|
|
|
|
@via
|
|
Scenario: Testbot - Mode should be set at via points
|
|
Given the node map
|
|
"""
|
|
a 1 b
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway |
|
|
| ab | river |
|
|
|
|
When I route I should get
|
|
| waypoints | route | modes |
|
|
| a,1,b | ab,ab,ab,ab | river downstream,river downstream,river downstream,river downstream |
|
|
| b,1,a | ab,ab,ab,ab | river upstream,river upstream,river upstream,river upstream |
|
|
|
|
Scenario: Testbot - Starting at a tricky node
|
|
Given the node map
|
|
"""
|
|
a
|
|
b c
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway |
|
|
| ab | river |
|
|
| bc | primary |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| b | a | ab,ab | river upstream,river upstream |
|
|
|
|
Scenario: Testbot - Mode changes on straight way without name change
|
|
Given the node map
|
|
"""
|
|
a 1 b 2 c
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | name |
|
|
| ab | primary | Avenue |
|
|
| bc | river | Avenue |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | c | Avenue,Avenue,Avenue | driving,river downstream,river downstream |
|
|
| c | a | Avenue,Avenue,Avenue | river upstream,driving,driving |
|
|
| 1 | 2 | Avenue,Avenue,Avenue | driving,river downstream,river downstream |
|
|
| 2 | 1 | Avenue,Avenue,Avenue | river upstream,driving,driving |
|
|
|
|
Scenario: Testbot - Mode for routes
|
|
Given the node map
|
|
"""
|
|
a b
|
|
c d e f
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | route | duration |
|
|
| ab | primary | | |
|
|
| bc | | ferry | 0:01 |
|
|
| cd | primary | | |
|
|
| de | primary | | |
|
|
| ef | primary | | |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | d | ab,bc,cd,cd | driving,route,driving,driving |
|
|
| d | a | cd,bc,ab,ab | driving,route,driving,driving |
|
|
| c | a | bc,ab,ab | route,driving,driving |
|
|
| d | b | cd,bc,bc | driving,route,route |
|
|
| a | c | ab,bc,bc | driving,route,route |
|
|
| b | d | bc,cd,cd | route,driving,driving |
|
|
| a | f | ab,bc,cd,de,ef,ef | driving,route,driving,driving,driving,driving |
|
|
|
|
Scenario: Testbot - Modes, triangle map
|
|
Given the node map
|
|
"""
|
|
d
|
|
2
|
|
6 5
|
|
a 0 b c
|
|
4 1
|
|
3
|
|
e
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abc | primary | |
|
|
| cd | primary | yes |
|
|
| ce | river | |
|
|
| de | primary | |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| 0 | 1 | abc,ce,de,de | driving,river downstream,driving,driving |
|
|
| 1 | 0 | de,ce,abc,abc | driving,river upstream,driving,driving |
|
|
| 0 | 2 | abc,cd,cd | driving,driving,driving |
|
|
| 2 | 0 | cd,de,ce,abc,abc | driving,driving,river upstream,driving,driving |
|
|
| 0 | 3 | abc,ce,ce | driving,river downstream,river downstream |
|
|
| 3 | 0 | ce,abc,abc | river upstream,driving,driving |
|
|
| 4 | 3 | ce,ce | river downstream,river downstream |
|
|
| 3 | 4 | ce,ce | river upstream,river upstream |
|
|
| 3 | 1 | ce,de,de | river downstream,driving,driving |
|
|
| 1 | 3 | de,ce,ce | driving,river upstream,river upstream |
|
|
| a | e | abc,ce,ce | driving,river downstream,river downstream |
|
|
| e | a | ce,abc,abc | river upstream,driving,driving |
|
|
| a | d | abc,cd,cd | driving,driving,driving |
|
|
| d | a | de,ce,abc,abc | driving,river upstream,driving,driving |
|
|
|
|
Scenario: Testbot - River in the middle
|
|
Given the node map
|
|
"""
|
|
a b c
|
|
d
|
|
e f g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway |
|
|
| abc | primary |
|
|
| cde | river |
|
|
| efg | primary |
|
|
|
|
When I route I should get
|
|
| from | to | route | modes |
|
|
| a | g | abc,cde,efg,efg | driving,river downstream,driving,driving |
|
|
| b | f | abc,cde,efg,efg | driving,river downstream,driving,driving |
|
|
| e | c | cde,cde | river upstream,river upstream |
|
|
| e | b | cde,abc,abc | river upstream,driving,driving |
|
|
| e | a | cde,abc,abc | river upstream,driving,driving |
|
|
| c | e | cde,cde | river downstream,river downstream |
|
|
| c | f | cde,efg,efg | river downstream,driving,driving |
|
|
| c | g | cde,efg,efg | river downstream,driving,driving |
|