258 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			258 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
@routing  @guidance
 | 
						|
Feature: Ramp Guidance
 | 
						|
 | 
						|
    Background:
 | 
						|
        Given the profile "car"
 | 
						|
        Given a grid size of 10 meters
 | 
						|
 | 
						|
    Scenario: Ramp On Through Street Right
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
            a b c
 | 
						|
              d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | abc   | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route     | turns                          |
 | 
						|
            | a,d       | abc,bd,bd | depart,on ramp right,arrive |
 | 
						|
 | 
						|
    Scenario: Ramp On Through Street Left
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
              d
 | 
						|
            a b c
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | abc   | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route     | turns                         |
 | 
						|
            | a,d       | abc,bd,bd | depart,on ramp left,arrive |
 | 
						|
 | 
						|
    Scenario: Ramp On Through Street Left and Right
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
              e
 | 
						|
            a b c
 | 
						|
              d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | be    | motorway_link |
 | 
						|
            | abc   | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route     | turns                          |
 | 
						|
            | a,d       | abc,bd,bd | depart,on ramp right,arrive |
 | 
						|
            | a,e       | abc,be,be | depart,on ramp left,arrive  |
 | 
						|
 | 
						|
    Scenario: Ramp On Three Way Intersection Right
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
            a b c
 | 
						|
              d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | ab    | tertiary      |
 | 
						|
            | bc    | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route    | turns                          |
 | 
						|
            | a,d       | ab,bd,bd | depart,on ramp right,arrive |
 | 
						|
 | 
						|
    Scenario: Ramp On Three Way Intersection Right
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
                c
 | 
						|
            a b
 | 
						|
              d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | ab    | tertiary      |
 | 
						|
            | bc    | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route    | turns                          |
 | 
						|
            | a,d       | ab,bd,bd | depart,on ramp right,arrive |
 | 
						|
 | 
						|
    Scenario: Ramp Off Though Street
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
                    c
 | 
						|
            a     b
 | 
						|
                  d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       | oneway |
 | 
						|
            | abc   | tertiary      | yes    |
 | 
						|
            | bd    | motorway_link | yes    |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route     | turns                          |
 | 
						|
            | a,d       | abc,bd,bd | depart,on ramp right,arrive |
 | 
						|
            | a,c       | abc,abc   | depart,arrive                  |
 | 
						|
 | 
						|
    Scenario: Straight Ramp Off Turning Though Street
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
                c
 | 
						|
            a b d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | abc   | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route     | turns                          |
 | 
						|
            | a,d       | abc,bd,bd | depart,on ramp straight,arrive |
 | 
						|
            | a,c       | abc,abc   | depart,arrive                  |
 | 
						|
 | 
						|
    Scenario: Fork Ramp Off Turning Though Street
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
                c
 | 
						|
            a b
 | 
						|
                d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | abc   | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route     | turns                       |
 | 
						|
            | a,d       | abc,bd,bd | depart,on ramp right,arrive |
 | 
						|
            | a,c       | abc,abc   | depart,arrive               |
 | 
						|
 | 
						|
    Scenario: Fork Ramp
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
                c
 | 
						|
            a b
 | 
						|
                d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | ab    | tertiary      |
 | 
						|
            | bc    | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route    | turns                          |
 | 
						|
            | a,d       | ab,bd,bd | depart,on ramp right,arrive |
 | 
						|
            | a,c       | ab,bc,bc | depart,turn left,arrive        |
 | 
						|
 | 
						|
    Scenario: Fork Slight Ramp
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
                  c
 | 
						|
            a b
 | 
						|
                  d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | ab    | tertiary      |
 | 
						|
            | bc    | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route    | turns                                 |
 | 
						|
            | a,d       | ab,bd,bd | depart,on ramp slight right,arrive |
 | 
						|
            | a,c       | ab,bc,bc | depart,turn slight left,arrive        |
 | 
						|
 | 
						|
    Scenario: Fork Slight Ramp on Through Street
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
                  c
 | 
						|
            a b
 | 
						|
                  d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | abc   | tertiary      |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route     | turns                              |
 | 
						|
            | a,d       | abc,bd,bd | depart,on ramp slight right,arrive |
 | 
						|
            | a,c       | abc,abc   | depart,arrive                      |
 | 
						|
 | 
						|
    Scenario: Fork Slight Ramp on Obvious Through Street
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
                  c
 | 
						|
            a b
 | 
						|
                  d
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | abc   | primary       |
 | 
						|
            | bd    | motorway_link |
 | 
						|
 | 
						|
       When I route I should get
 | 
						|
            | waypoints | route     | turns                                 |
 | 
						|
            | a,d       | abc,bd,bd | depart,on ramp slight right,arrive |
 | 
						|
            | a,c       | abc,abc   | depart,arrive                         |
 | 
						|
 | 
						|
    Scenario: Two Ramps Joining into common Motorway
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
            a
 | 
						|
                c d
 | 
						|
            b
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       |
 | 
						|
            | ac    | motorway_link |
 | 
						|
            | bc    | motorway_link |
 | 
						|
            | cd    | motorway      |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | waypoints | route    | turns                               |
 | 
						|
            | a,d       | ac,cd,cd | depart,new name slight left,arrive  |
 | 
						|
            | b,d       | bc,cd,cd | depart,new name slight right,arrive |
 | 
						|
 | 
						|
    Scenario: Two Ramps Joining into common Motorway Unnamed
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
            a
 | 
						|
                c d
 | 
						|
            b
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway       | name |
 | 
						|
            | ac    | motorway_link |      |
 | 
						|
            | bc    | motorway_link |      |
 | 
						|
            | cd    | motorway      |      |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | waypoints | route    | turns         |
 | 
						|
            | a,d       | ,        | depart,arrive |
 | 
						|
            | b,d       | ,        | depart,arrive |
 |