193 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			193 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
| @routing  @guidance @perceived-angles
 | |
| Feature: Simple Turns
 | |
| 
 | |
|     Background:
 | |
|         Given the profile "car"
 | |
|         Given a grid size of 5 meters
 | |
| 
 | |
|     Scenario: Turning into splitting road
 | |
|         Given the node map
 | |
|             """
 | |
|               a
 | |
|               b
 | |
| 
 | |
| 
 | |
|             c   d
 | |
| 
 | |
|                   e
 | |
| 
 | |
|                 f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | name | highway | oneway |
 | |
|             | ab    | road | primary | no     |
 | |
|             | bc    | road | primary | yes    |
 | |
|             | fdb   | road | primary | yes    |
 | |
|             | de    | turn | primary | no     |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | turns                           | route          |
 | |
|             | f,a       | depart,arrive                   | road,road      |
 | |
|             | e,a       | depart,turn slight right,arrive | turn,road,road |
 | |
| 
 | |
|     Scenario: Turning into splitting road
 | |
|         Given the node map
 | |
|         """
 | |
|               a
 | |
|             g-b
 | |
|               /\
 | |
|              /  \
 | |
|             c   d
 | |
|                 |\
 | |
|                 | e
 | |
|                 |
 | |
|                 f
 | |
|         """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | name | highway | oneway |
 | |
|             | ab    | road | primary | no     |
 | |
|             | bc    | road | primary | yes    |
 | |
|             | fdb   | road | primary | yes    |
 | |
|             | de    | turn | primary | no     |
 | |
|             | bg    | left | primary | yes    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | turns                                     | route               |
 | |
|             | f,a       | depart,arrive                             | road,road           |
 | |
|             | e,a       | depart,turn slight right,arrive           | turn,road,road      |
 | |
|             | e,g       | depart,turn slight right,turn left,arrive | turn,road,left,left |
 | |
|             | f,g       | depart,turn left,arrive                   | road,left,left      |
 | |
|             | f,c       | depart,continue uturn,arrive              | road,road,road      |
 | |
| 
 | |
|     Scenario: Middle Island
 | |
|         Given the node map
 | |
|             """
 | |
|               a
 | |
| 
 | |
|               b
 | |
|             c   h
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|             d   g
 | |
|               e
 | |
| 
 | |
|               f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | name | oneway |
 | |
|             | ab    | road | no     |
 | |
|             | ef    | road | no     |
 | |
|             | bcde  | road | yes    |
 | |
|             | eghb  | road | yes    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | turns         | route     |
 | |
|             | a,f       | depart,arrive | road,road |
 | |
|             | c,f       | depart,arrive | road,road |
 | |
|             | f,a       | depart,arrive | road,road |
 | |
|             | g,a       | depart,arrive | road,road |
 | |
| 
 | |
|     Scenario: Middle Island Over Bridge
 | |
|         Given the node map
 | |
|             """
 | |
|               a
 | |
| 
 | |
|               b
 | |
|             c   h
 | |
| 
 | |
| 
 | |
|             1   2
 | |
| 
 | |
|             d   g
 | |
|               e
 | |
| 
 | |
|               f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | name   | oneway |
 | |
|             | ab    | road   | no     |
 | |
|             | ef    | road   | no     |
 | |
|             | bc    | road   | yes    |
 | |
|             | cd    | bridge | yes    |
 | |
|             | de    | road   | yes    |
 | |
|             | eg    | road   | yes    |
 | |
|             | gh    | bridge | yes    |
 | |
|             | hb    | road   | yes    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | turns                           | route            |
 | |
|             | a,f       | depart,arrive                   | road,road        |
 | |
|             | c,f       | depart,new name straight,arrive | bridge,road,road |
 | |
|             | 1,f       | depart,new name straight,arrive | bridge,road,road |
 | |
|             | f,a       | depart,arrive                   | road,road        |
 | |
|             | g,a       | depart,new name straight,arrive | bridge,road,road |
 | |
|             | 2,a       | depart,new name straight,arrive | bridge,road,road |
 | |
| 
 | |
|     @negative
 | |
|     Scenario: Don't Collapse Places:
 | |
|         Given the node map
 | |
|             """
 | |
|                         h
 | |
|                         g
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|             a b                   e f
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|                         c
 | |
|                         d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | name   | oneway |
 | |
|             | ab    | place  | no     |
 | |
|             | cd    | bottom | no     |
 | |
|             | ef    | place  | no     |
 | |
|             | gh    | top    | no     |
 | |
|             | bcegb | place  | yes    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | turns                                             | route                      |
 | |
|             | a,d       | depart,turn right,arrive                          | place,bottom,bottom        |
 | |
|             | a,f       | depart,continue left,continue right,arrive        | place,place,place,place    |
 | |
|             | d,f       | depart,turn right,continue right,arrive           | bottom,place,place,place   |
 | |
|             | d,h       | depart,turn right,continue left,turn right,arrive | bottom,place,place,top,top |
 | |
| 
 | |
|     @bug @not-sorted @3179
 | |
|     Scenario: Adjusting road angles to not be sorted
 | |
|         Given the node map
 | |
|             """
 | |
|                                  g
 | |
|                                 |
 | |
|                                |
 | |
|                               |
 | |
|                              _e - - - - - - - - - f
 | |
|                            /
 | |
|             a - - - - -b <
 | |
|                      i     \ _
 | |
|                 h             c - - - - - - - - - d
 | |
| 
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | name  | oneway |
 | |
|             | ab    | road  | no     |
 | |
|             | febcd | road  | yes    |
 | |
|             | ge    | in    | yes    |
 | |
|             | eh    | right | yes    |
 | |
|             | ei    | left  | yes    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | route        |
 | |
|             | g,a       | in,road,road |
 |