167 lines
6.8 KiB
Gherkin
167 lines
6.8 KiB
Gherkin
@routing @oneway
|
|
Feature: Oneway streets
|
|
Handle oneways streets, as defined at http://wiki.openstreetmap.org/wiki/OSM_tags_for_routing
|
|
|
|
Scenario: Simple oneway
|
|
Given the speedprofile "car"
|
|
Then routability should be
|
|
| highway | oneway | forw | backw |
|
|
| primary | yes | x | |
|
|
|
|
Scenario: Simple reverse oneway
|
|
Given the speedprofile "car"
|
|
Then routability should be
|
|
| highway | oneway | forw | backw |
|
|
| primary | -1 | | x |
|
|
|
|
Scenario: Around the Block
|
|
Given the nodes
|
|
| a | b |
|
|
| d | c |
|
|
|
|
And the ways
|
|
| nodes | oneway |
|
|
| ab | yes |
|
|
| bc | |
|
|
| cd | |
|
|
| da | |
|
|
|
|
When I route I should get
|
|
| from | to | route |
|
|
| a | b | ab |
|
|
| b | a | bc,cd,da |
|
|
|
|
Scenario: Avoid oneway traps
|
|
Given the nodes
|
|
| | x | |
|
|
| a | b | c |
|
|
| | y | |
|
|
|
|
And the ways
|
|
| nodes | oneway |
|
|
| abc | |
|
|
| bx | yes |
|
|
| yb | -1 |
|
|
|
|
When I route I should get
|
|
| from | to | route |
|
|
| b | x | |
|
|
| b | y | |
|
|
|
|
Scenario: Handle various oneway tag values
|
|
Given the speedprofile "bicycle"
|
|
Then routability should be
|
|
| highway | oneway | forw | backw |
|
|
| primary | | x | x |
|
|
| primary | nonsense | x | x |
|
|
| primary | no | x | x |
|
|
| primary | false | x | x |
|
|
| primary | 0 | x | x |
|
|
| primary | yes | x | |
|
|
| primary | true | x | |
|
|
| primary | 1 | x | |
|
|
| primary | -1 | | x |
|
|
|
|
Scenario: Implied oneways
|
|
Given the speedprofile "car"
|
|
Then routability should be
|
|
| highway | junction | forw | backw |
|
|
| motorway | | x | |
|
|
| motorway_link | | x | |
|
|
| trunk | | x | x |
|
|
| trunk_link | | x | x |
|
|
| primary | | x | x |
|
|
| primary_link | | x | x |
|
|
| secondary | | x | x |
|
|
| secondary_link | | x | x |
|
|
| tertiary | | x | x |
|
|
| tertiary_link | | x | x |
|
|
| residential | | x | x |
|
|
| primary | roundabout | x | |
|
|
| secondary | roundabout | x | |
|
|
| tertiary | roundabout | x | |
|
|
| residential | roundabout | x | |
|
|
|
|
Scenario: Overriding implied oneways
|
|
Given the speedprofile "car"
|
|
Then routability should be
|
|
| highway | junction | oneway | forw | backw |
|
|
| motorway_link | | no | x | x |
|
|
| trunk_link | | no | x | x |
|
|
| primary | roundabout | no | x | x |
|
|
| motorway_link | | yes | x | |
|
|
| trunk_link | | yes | x | |
|
|
| primary | roundabout | yes | x | |
|
|
| motorway_link | | -1 | | x |
|
|
| trunk_link | | -1 | | x |
|
|
| primary | roundabout | -1 | | x |
|
|
|
|
Scenario: Disabling oneways in speedprofile
|
|
Given the speedprofile "car"
|
|
And the speedprofile settings
|
|
| obeyOneways | no |
|
|
Then routability should be
|
|
| highway | junction | oneway | forw | backw |
|
|
| primary | | yes | x | x |
|
|
| primary | | true | x | x |
|
|
| primary | | 1 | x | x |
|
|
| primary | | -1 | x | x |
|
|
| motorway_link | | | x | x |
|
|
| trunk_link | | | x | x |
|
|
| primary | roundabout | | x | x |
|
|
|
|
@bicycle
|
|
Scenario: Oneway:bicycle should override normal oneways tags
|
|
Given the speedprofile "bicycle"
|
|
Then routability should be
|
|
| highway | junction | oneway | oneway:bicycle | forw | backw |
|
|
| primary | | | yes | x | |
|
|
| primary | | yes | yes | x | |
|
|
| primary | | no | yes | x | |
|
|
| primary | | -1 | yes | x | |
|
|
| primary | roundabout | | yes | x | |
|
|
| primary | | | no | x | x |
|
|
| primary | | yes | no | x | x |
|
|
| primary | | no | no | x | x |
|
|
| primary | | -1 | no | x | x |
|
|
| primary | roundabout | | no | x | x |
|
|
| primary | | | -1 | | x |
|
|
| primary | | yes | -1 | | x |
|
|
| primary | | no | -1 | | x |
|
|
| primary | | -1 | -1 | | x |
|
|
| primary | roundabout | | -1 | | x |
|
|
|
|
@bicycle
|
|
Scenario: Bicycles and contra flow
|
|
Given the speedprofile "bicycle"
|
|
Then routability should be
|
|
| highway | oneway | cycleway | forw | backw |
|
|
| primary | yes | opposite | x | x |
|
|
| primary | yes | opposite_track | x | x |
|
|
| primary | yes | opposite_lane | x | x |
|
|
| primary | -1 | opposite | x | x |
|
|
| primary | -1 | opposite_track | x | x |
|
|
| primary | -1 | opposite_lane | x | x |
|
|
| primary | no | opposite | x | x |
|
|
| primary | no | opposite_track | x | x |
|
|
| primary | no | opposite_lane | x | x |
|
|
|
|
@bicycle
|
|
Scenario: Cars should not be affected by bicycle tags
|
|
Given the speedprofile "car"
|
|
Then routability should be
|
|
| highway | junction | oneway | oneway:bicycle | forw | backw |
|
|
| primary | | yes | yes | x | |
|
|
| primary | | yes | no | x | |
|
|
| primary | | yes | -1 | x | |
|
|
| primary | | no | yes | x | x |
|
|
| primary | | no | no | x | x |
|
|
| primary | | no | -1 | x | x |
|
|
| primary | | -1 | yes | | x |
|
|
| primary | | -1 | no | | x |
|
|
| primary | | -1 | -1 | | x |
|
|
| primary | roundabout | | yes | x | |
|
|
| primary | roundabout | | no | x | |
|
|
| primary | roundabout | | -1 | x | |
|
|
|