150 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
| @routing  @guidance
 | |
| Feature: Merging
 | |
| 
 | |
|     Background:
 | |
|         Given the profile "car"
 | |
|         And a grid size of 10 meters
 | |
| 
 | |
|     @merge
 | |
|     Scenario: Merge on Four Way Intersection
 | |
|         Given the node map
 | |
|             """
 | |
|             d
 | |
|             a   b             c
 | |
|             e
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway |
 | |
|             | abc   | primary |
 | |
|             | db    | primary |
 | |
|             | eb    | primary |
 | |
| 
 | |
|        When I route I should get
 | |
|             | waypoints | route      | turns                       |
 | |
|             | d,c       | db,abc,abc | depart,turn straight,arrive |
 | |
|             | e,c       | eb,abc,abc | depart,turn straight,arrive |
 | |
| 
 | |
|     @merge
 | |
|     Scenario: Merge on Three Way Intersection Right
 | |
|         Given the node map
 | |
|             """
 | |
|             d
 | |
|             a   b             c
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway |
 | |
|             | abc   | primary |
 | |
|             | db    | primary |
 | |
| 
 | |
|        When I route I should get
 | |
|             | waypoints | route      | turns                       |
 | |
|             | d,c       | db,abc,abc | depart,turn straight,arrive |
 | |
| 
 | |
|     @merge @negative
 | |
|     Scenario: Don't Merge on Short-Three Way Intersection Right
 | |
|         Given the node map
 | |
|             """
 | |
|             d
 | |
|             a   b         c
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway |
 | |
|             | abc   | primary |
 | |
|             | db    | primary |
 | |
| 
 | |
|        When I route I should get
 | |
|             | waypoints | route      | turns                          |
 | |
|             | d,c       | db,abc,abc | depart,turn slight left,arrive |
 | |
| 
 | |
| 
 | |
|     @merge
 | |
|     Scenario: Merge on Three Way Intersection Right
 | |
|         Given the node map
 | |
|             """
 | |
|             a   b             c
 | |
|             d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway |
 | |
|             | abc   | primary |
 | |
|             | db    | primary |
 | |
| 
 | |
|        When I route I should get
 | |
|             | waypoints | route      | turns                       |
 | |
|             | d,c       | db,abc,abc | depart,turn straight,arrive |
 | |
| 
 | |
|     @merge
 | |
|     Scenario: Merge onto a turning road
 | |
|         Given the node map
 | |
|             """
 | |
|                         e
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|                       d
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|                     c
 | |
|                   b
 | |
|             a           f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway     | name |
 | |
|             | abcde | primary     | road |
 | |
|             | fd    | residential | in   |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | turns                         | route        |
 | |
|             | f,e       | depart,turn straight,arrive   | in,road,road |
 | |
|             | f,a       | depart,turn sharp left,arrive | in,road,road |
 | |
| 
 | |
|     @merge
 | |
|     Scenario: Merge onto a motorway
 | |
|         Given the node map
 | |
|             """
 | |
|             d
 | |
|             a     b           c
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | name | highway       | oneway |
 | |
|             | abc   | A100 | motorway      | yes    |
 | |
|             | db    |      | motorway_link | yes    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | route      | turns                            |
 | |
|             | d,c       | ,A100,A100 | depart,merge slight right,arrive |
 | |
| 
 | |
| 
 | |
|     # https://www.openstreetmap.org/way/254299122
 | |
|     @merge
 | |
|     Scenario: Merge onto a motorway with junction references
 | |
|         Given the node map
 | |
|             """
 | |
|             a     b      c     d
 | |
|             e                  f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | name | junction:ref | highway       | oneway |
 | |
|             | abc   | A100 |              | motorway      | yes    |
 | |
|             | cd    | A100 | 1A           | motorway      | yes    |
 | |
|             | eb    |      |              | motorway_link | yes    |
 | |
|             | cf    |      | 1B           | motorway_link | yes    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | route      | turns                           |
 | |
|             | e,d       | ,A100,A100 | depart,merge slight left,arrive |
 |