265 lines
8.6 KiB
Gherkin
265 lines
8.6 KiB
Gherkin
@routing @guidance
|
|
Feature: Motorway Guidance
|
|
|
|
Background:
|
|
Given the profile "car"
|
|
Given a grid size of 10 meters
|
|
|
|
Scenario: Ramp Exit Right
|
|
Given the node map
|
|
"""
|
|
a b c d e
|
|
f g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| bfg | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| a,g | abcde,bfg,bfg | depart,off ramp slight right,arrive |
|
|
|
|
Scenario: Ramp Exit Right Curved Right
|
|
Given the node map
|
|
"""
|
|
a b c
|
|
f d
|
|
g e
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| bfg | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| a,g | abcde,bfg,bfg | depart,off ramp right,arrive |
|
|
|
|
Scenario: Ramp Exit Right Curved Left
|
|
Given the node map
|
|
"""
|
|
e
|
|
d g
|
|
a b c f
|
|
"""
|
|
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| cfg | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| a,g | abcde,cfg,cfg | depart,off ramp slight right,arrive |
|
|
|
|
|
|
Scenario: Ramp Exit Left
|
|
Given the node map
|
|
"""
|
|
f g
|
|
a b c d e
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| bfg | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| a,g | abcde,bfg,bfg | depart,off ramp slight left,arrive |
|
|
|
|
Scenario: Ramp Exit Left Curved Left
|
|
Given the node map
|
|
"""
|
|
g e
|
|
f d
|
|
a b c
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| bfg | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| a,g | abcde,bfg,bfg | depart,off ramp left,arrive |
|
|
|
|
Scenario: Ramp Exit Left Curved Right
|
|
Given the node map
|
|
"""
|
|
a b c f
|
|
d g
|
|
e
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| cfg | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| a,g | abcde,cfg,cfg | depart,off ramp slight left,arrive |
|
|
|
|
Scenario: On Ramp Right
|
|
Given the node map
|
|
"""
|
|
a b c d e
|
|
f g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| fgd | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| f,e | fgd,abcde,abcde | depart,merge slight left,arrive |
|
|
|
|
Scenario: On Ramp Left
|
|
Given the node map
|
|
"""
|
|
f g
|
|
a b c d e
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| fgd | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| f,e | fgd,abcde,abcde | depart,merge slight right,arrive |
|
|
|
|
Scenario: Highway Fork
|
|
Given the node map
|
|
"""
|
|
d e
|
|
a b c
|
|
f g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway |
|
|
| abcde | motorway |
|
|
| cfg | motorway |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde,abcde | depart,fork slight left,arrive |
|
|
| a,g | abcde,cfg,cfg | depart,fork slight right,arrive |
|
|
|
|
Scenario: Fork After Ramp
|
|
Given the node map
|
|
"""
|
|
d e
|
|
a b c
|
|
f g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abc | motorway_link | yes |
|
|
| cde | motorway | |
|
|
| cfg | motorway | |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abc,cde,cde | depart,fork slight left,arrive |
|
|
| a,g | abc,cfg,cfg | depart,fork slight right,arrive |
|
|
|
|
Scenario: On And Off Ramp Right
|
|
Given the node map
|
|
"""
|
|
a b c d e
|
|
f g h i
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| fgc | motorway_link | yes |
|
|
| chi | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| f,e | fgc,abcde,abcde | depart,merge slight left,arrive |
|
|
| a,i | abcde,chi,chi | depart,off ramp slight right,arrive |
|
|
| f,i | fgc,chi,chi | depart,off ramp right,arrive |
|
|
|
|
Scenario: On And Off Ramp Left
|
|
Given the node map
|
|
"""
|
|
f g h i
|
|
a b c d e
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway | oneway |
|
|
| abcde | motorway | |
|
|
| fgc | motorway_link | yes |
|
|
| chi | motorway_link | yes |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,e | abcde,abcde | depart,arrive |
|
|
| f,e | fgc,abcde,abcde | depart,merge slight right,arrive |
|
|
| a,i | abcde,chi,chi | depart,off ramp slight left,arrive |
|
|
| f,i | fgc,chi,chi | depart,off ramp left,arrive |
|
|
|
|
Scenario: Merging Motorways
|
|
Given the node map
|
|
"""
|
|
e
|
|
a b c
|
|
d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | highway |
|
|
| abc | motorway |
|
|
| db | motorway |
|
|
| eb | motorway |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| d,c | db,abc,abc | depart,merge slight left,arrive |
|
|
| e,c | eb,abc,abc | depart,merge slight right,arrive |
|
|
|
|
Scenario: Handle 90 degree off ramps correctly
|
|
Given the node map
|
|
"""
|
|
a
|
|
x b c y
|
|
d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes | name | highway | oneway |
|
|
| ab | On | motorway_link | yes |
|
|
| xb | Hwy | motorway | |
|
|
| bc | Hwy | motorway | |
|
|
| cd | Off | motorway_link | yes |
|
|
| cy | Hwy | motorway | |
|
|
|
|
When I route I should get
|
|
| waypoints | route | turns |
|
|
| a,d | On,Hwy,Off,Off | depart,merge slight right,off ramp right,arrive |
|