osrm-backend/features/car/access.feature
Daniel J. Hofmann 8bee57b0b0 Makes toll=yes way's routability configurable in profiles.
The primary use-case is conditionally filtering ways such as:

https://www.openstreetmap.org/edit#map=18/38.94198/-77.28127

which we are guiding the user onto in the route from DC to IAD:

http://map.project-osrm.org/?z=12&center=38.934443%2C-77.167969&loc=38.902656%2C-77.029095&loc=38.952210%2C-77.453424&hl=en&alt=0

This changeset makes `toll=yes` configurable in the profiles, disabling
them by default. Neither do we support time-based fees nor vehicle
category fees at the moment.

References:
- http://wiki.openstreetmap.org/wiki/Key:toll
2016-08-04 14:29:22 +02:00

165 lines
9.4 KiB
Gherkin

@routing @car @access
Feature: Car - Restricted access
# Reference: http://wiki.openstreetmap.org/wiki/Key:access
Background:
Given the profile "car"
Scenario: Car - Access tag hierarchy on ways
Then routability should be
| access | vehicle | motor_vehicle | motorcar | bothw |
| | | | | x |
| yes | | | | x |
| no | | | | |
| | yes | | | x |
| | no | | | |
| no | yes | | | x |
| yes | no | | | |
| | | yes | | x |
| | | no | | |
| no | | yes | | x |
| yes | | no | | |
| | no | yes | | x |
| | yes | no | | |
| | | | yes | x |
| | | | no | |
| no | | | yes | x |
| yes | | | no | |
| | no | | yes | x |
| | yes | | no | |
| | | no | yes | x |
| | | yes | no | |
Scenario: Car - Access tag hierarchy on nodes
Then routability should be
| node/access | node/vehicle | node/motor_vehicle | node/motorcar | bothw |
| | | | | x |
| yes | | | | x |
| no | | | | |
| | yes | | | x |
| | no | | | |
| no | yes | | | x |
| yes | no | | | |
| | | yes | | x |
| | | no | | |
| no | | yes | | x |
| yes | | no | | |
| | no | yes | | x |
| | yes | no | | |
| | | | yes | x |
| | | | no | |
| no | | | yes | x |
| yes | | | no | |
| | no | | yes | x |
| | yes | | no | |
| | | no | yes | x |
| | | yes | no | |
Scenario: Car - Overwriting implied acccess on ways
Then routability should be
| highway | access | vehicle | motor_vehicle | motorcar | bothw |
| primary | | | | | x |
| runway | | | | | |
| primary | no | | | | |
| primary | | no | | | |
| primary | | | no | | |
| primary | | | | no | |
| runway | yes | | | | x |
| runway | | yes | | | x |
| runway | | | yes | | x |
| runway | | | | yes | x |
Scenario: Car - Overwriting implied acccess on nodes
Then routability should be
| highway | node/access | node/vehicle | node/motor_vehicle | node/motorcar | bothw |
| primary | | | | | x |
| runway | | | | | |
| primary | no | | | | |
| primary | | no | | | |
| primary | | | no | | |
| primary | | | | no | |
| runway | yes | | | | |
| runway | | yes | | | |
| runway | | | yes | | |
| runway | | | | yes | |
Scenario: Car - Access tags on ways
Then routability should be
| access | bothw |
| yes | x |
| permissive | x |
| designated | x |
| no | |
| private | |
| agricultural | |
| forestry | |
| psv | |
| delivery | |
| some_tag | x |
Scenario: Car - Access tags on nodes
Then routability should be
| node/access | bothw |
| yes | x |
| permissive | x |
| designated | x |
| no | |
| private | |
| agricultural | |
| forestry | |
| psv | |
| delivery | |
| some_tag | x |
Scenario: Car - Access tags on both node and way
Then routability should be
| access | node/access | bothw |
| yes | yes | x |
| yes | no | |
| yes | some_tag | x |
| no | yes | |
| no | no | |
| no | some_tag | |
| some_tag | yes | x |
| some_tag | no | |
| some_tag | some_tag | x |
Scenario: Car - Access combinations
Then routability should be
| highway | accesss | vehicle | motor_vehicle | motorcar | bothw |
| runway | private | | | permissive | x |
| primary | forestry | | yes | | x |
| cycleway | | | designated | | x |
| residential | | yes | no | | |
| motorway | yes | permissive | | private | |
| trunk | agricultural | designated | permissive | no | |
| pedestrian | | | | | |
| pedestrian | | | | destination | x |
Scenario: Car - Ignore access tags for other modes
Then routability should be
| highway | foot | bicycle | psv | motorhome | bothw |
| runway | yes | | | | |
| primary | no | | | | x |
| runway | | yes | | | |
| primary | | no | | | x |
| runway | | | yes | | |
| primary | | | no | | x |
| runway | | | | yes | |
| primary | | | | no | x |
Scenario: Car - only designated HOV ways are ignored by default
Then routability should be
| highway | hov | bothw |
| primary | designated | |
| primary | yes | x |
| primary | no | x |
Scenario: Car - only toll=yes ways are ignored by default
Then routability should be
| highway | toll | bothw |
| primary | yes | |
| primary | no | x |
| primary | snowmobile | x |