848 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			848 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
@routing  @guidance
 | 
						||
Feature: Basic Roundabout
 | 
						||
 | 
						||
    Background:
 | 
						||
        Given the profile "car"
 | 
						||
        Given a grid size of 10 meters
 | 
						||
 | 
						||
    Scenario: Only Enter
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                a
 | 
						||
                b
 | 
						||
            d c   g h
 | 
						||
                e
 | 
						||
                f
 | 
						||
            """
 | 
						||
 | 
						||
       And the ways
 | 
						||
            | nodes  | junction   |
 | 
						||
            | ab     |            |
 | 
						||
            | cd     |            |
 | 
						||
            | ef     |            |
 | 
						||
            | gh     |            |
 | 
						||
            | bcegb  | roundabout |
 | 
						||
 | 
						||
       When I route I should get
 | 
						||
           | waypoints | route          | turns                                   |
 | 
						||
           | a,c       | ab,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | a,e       | ab,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | a,g       | ab,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | d,e       | cd,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | d,g       | cd,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | d,b       | cd,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | f,g       | ef,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | f,b       | ef,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | f,c       | ef,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | h,b       | gh,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | h,c       | gh,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
           | h,e       | gh,bcegb,bcegb | depart,roundabout-exit-undefined,arrive |
 | 
						||
 | 
						||
    Scenario: Roundabout With Service
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                a h
 | 
						||
                bg
 | 
						||
            d c
 | 
						||
                e
 | 
						||
                f
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes  | junction   | highway |
 | 
						||
            | ab     |            | primary |
 | 
						||
            | cd     |            | primary |
 | 
						||
            | ef     |            | service |
 | 
						||
            | gh     |            | primary |
 | 
						||
            | bcegb  | roundabout | primary |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route       | turns                                                    |
 | 
						||
            | a,d       | ab,cd,cd,cd | depart,roundabout-exit-1,exit roundabout right,arrive    |
 | 
						||
            | a,h       | ab,gh,gh,gh | depart,roundabout-exit-2,exit roundabout straight,arrive |
 | 
						||
            | a,f       | ab,ef,ef,ef | depart,roundabout-exit-2,exit roundabout right,arrive    |
 | 
						||
 | 
						||
    #2927
 | 
						||
    Scenario: Only Roundabout
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
              a
 | 
						||
            b   d
 | 
						||
              c
 | 
						||
            """
 | 
						||
 | 
						||
       And the ways
 | 
						||
            | nodes  | junction   |
 | 
						||
            | abcda  | roundabout |
 | 
						||
 | 
						||
       When I route I should get
 | 
						||
           | waypoints | route       | turns         |
 | 
						||
           | a,c       | abcda,abcda | depart,arrive |
 | 
						||
 | 
						||
    Scenario: Only Exit
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                a
 | 
						||
                b
 | 
						||
            d c   g h
 | 
						||
                e
 | 
						||
                f
 | 
						||
            """
 | 
						||
 | 
						||
       And the ways
 | 
						||
            | nodes  | junction   |
 | 
						||
            | ab     |            |
 | 
						||
            | cd     |            |
 | 
						||
            | ef     |            |
 | 
						||
            | gh     |            |
 | 
						||
            | bcegb  | roundabout |
 | 
						||
 | 
						||
       When I route I should get
 | 
						||
           | waypoints | route       | turns                               |
 | 
						||
           | b,d       | bcegb,cd,cd | depart,exit roundabout right,arrive |
 | 
						||
           | b,f       | bcegb,ef,ef | depart,exit roundabout right,arrive |
 | 
						||
           | b,h       | bcegb,gh,gh | depart,exit roundabout right,arrive |
 | 
						||
           | c,f       | bcegb,ef,ef | depart,exit roundabout right,arrive |
 | 
						||
           | c,h       | bcegb,gh,gh | depart,exit roundabout right,arrive |
 | 
						||
           | c,a       | bcegb,ab,ab | depart,exit roundabout right,arrive |
 | 
						||
           | e,h       | bcegb,gh,gh | depart,exit roundabout right,arrive |
 | 
						||
           | e,a       | bcegb,ab,ab | depart,exit roundabout right,arrive |
 | 
						||
           | e,d       | bcegb,cd,cd | depart,exit roundabout right,arrive |
 | 
						||
           | g,a       | bcegb,ab,ab | depart,exit roundabout right,arrive |
 | 
						||
           | g,d       | bcegb,cd,cd | depart,exit roundabout right,arrive |
 | 
						||
           | g,f       | bcegb,ef,ef | depart,exit roundabout right,arrive |
 | 
						||
      #phantom node snapping can result in a full round-trip here, therefore we cannot test b->a and the other direct exits
 | 
						||
 | 
						||
    Scenario: Drive Around
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                a
 | 
						||
                b
 | 
						||
            d c   g h
 | 
						||
                e
 | 
						||
                f
 | 
						||
            """
 | 
						||
 | 
						||
       And the ways
 | 
						||
            | nodes  | junction   |
 | 
						||
            | ab     |            |
 | 
						||
            | cd     |            |
 | 
						||
            | ef     |            |
 | 
						||
            | gh     |            |
 | 
						||
            | bcegb  | roundabout |
 | 
						||
 | 
						||
       When I route I should get
 | 
						||
           | waypoints | route       | turns         |
 | 
						||
           | b,c       | bcegb,bcegb | depart,arrive |
 | 
						||
           | b,e       | bcegb,bcegb | depart,arrive |
 | 
						||
           | b,g       | bcegb,bcegb | depart,arrive |
 | 
						||
           | c,e       | bcegb,bcegb | depart,arrive |
 | 
						||
           | c,g       | bcegb,bcegb | depart,arrive |
 | 
						||
           | c,b       | bcegb,bcegb | depart,arrive |
 | 
						||
           | e,g       | bcegb,bcegb | depart,arrive |
 | 
						||
           | e,b       | bcegb,bcegb | depart,arrive |
 | 
						||
           | e,c       | bcegb,bcegb | depart,arrive |
 | 
						||
           | g,b       | bcegb,bcegb | depart,arrive |
 | 
						||
           | g,c       | bcegb,bcegb | depart,arrive |
 | 
						||
           | g,e       | bcegb,bcegb | depart,arrive |
 | 
						||
 | 
						||
     Scenario: Mixed Entry and Exit
 | 
						||
        Given the node map
 | 
						||
           """
 | 
						||
             c   a
 | 
						||
           j   b   f
 | 
						||
             k   e
 | 
						||
           l   h   d
 | 
						||
             g   i
 | 
						||
           """
 | 
						||
 | 
						||
        And the ways
 | 
						||
           | nodes | junction   | oneway |
 | 
						||
           | abc   |            | yes    |
 | 
						||
           | def   |            | yes    |
 | 
						||
           | ghi   |            | yes    |
 | 
						||
           | jkl   |            | yes    |
 | 
						||
           | bkheb | roundabout | yes    |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
           | waypoints | route           | turns                                                    |
 | 
						||
           | a,c       | abc,abc,abc     | depart,exit roundabout right,arrive                      |
 | 
						||
           | a,l       | abc,jkl,jkl,jkl | depart,roundabout-exit-2,exit roundabout straight,arrive |
 | 
						||
           | a,i       | abc,ghi,ghi,ghi | depart,roundabout-exit-3,exit roundabout straight,arrive |
 | 
						||
           | a,f       | abc,def,def,def | depart,roundabout-exit-4,exit roundabout straight,arrive |
 | 
						||
           | d,f       | def,def,def     | depart,exit roundabout right,arrive                      |
 | 
						||
           | d,c       | def,abc,abc,abc | depart,roundabout-exit-2,exit roundabout straight,arrive |
 | 
						||
           | d,l       | def,jkl,jkl,jkl | depart,roundabout-exit-3,exit roundabout straight,arrive |
 | 
						||
           | d,i       | def,ghi,ghi,ghi | depart,roundabout-exit-4,exit roundabout straight,arrive |
 | 
						||
           | g,i       | ghi,ghi,ghi     | depart,exit roundabout right,arrive                      |
 | 
						||
           | g,f       | ghi,def,def,def | depart,roundabout-exit-2,exit roundabout straight,arrive |
 | 
						||
           | g,c       | ghi,abc,abc,abc | depart,roundabout-exit-3,exit roundabout straight,arrive |
 | 
						||
           | g,l       | ghi,jkl,jkl,jkl | depart,roundabout-exit-4,exit roundabout straight,arrive |
 | 
						||
           | j,l       | jkl,jkl,jkl     | depart,exit roundabout right,arrive                      |
 | 
						||
           | j,i       | jkl,ghi,ghi,ghi | depart,roundabout-exit-2,exit roundabout straight,arrive |
 | 
						||
           | j,f       | jkl,def,def,def | depart,roundabout-exit-3,exit roundabout straight,arrive |
 | 
						||
           | j,c       | jkl,abc,abc,abc | depart,roundabout-exit-4,exit roundabout straight,arrive |
 | 
						||
 | 
						||
    Scenario: Mixed Entry and Exit - segregated roads
 | 
						||
        Given the node map
 | 
						||
           """
 | 
						||
               a   c
 | 
						||
 | 
						||
           l     b     d
 | 
						||
               k   e
 | 
						||
           j     h     f
 | 
						||
 | 
						||
               i   g
 | 
						||
           """
 | 
						||
 | 
						||
        And the ways
 | 
						||
           | nodes | junction   | oneway |
 | 
						||
           | abc   |            | yes    |
 | 
						||
           | def   |            | yes    |
 | 
						||
           | ghi   |            | yes    |
 | 
						||
           | jkl   |            | yes    |
 | 
						||
           | bkheb | roundabout | yes    |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
           | waypoints | route           | turns                                                 |
 | 
						||
           | a,c       | abc,abc,abc,abc | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | a,l       | abc,jkl,jkl,jkl | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | a,i       | abc,ghi,ghi,ghi | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | a,f       | abc,def,def,def | depart,roundabout-exit-3,exit roundabout right,arrive |
 | 
						||
           | d,f       | def,def,def,def | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | d,c       | def,abc,abc,abc | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | d,l       | def,jkl,jkl,jkl | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | d,i       | def,ghi,ghi,ghi | depart,roundabout-exit-3,exit roundabout right,arrive |
 | 
						||
           | g,i       | ghi,ghi,ghi,ghi | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | g,f       | ghi,def,def,def | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | g,c       | ghi,abc,abc,abc | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | g,l       | ghi,jkl,jkl,jkl | depart,roundabout-exit-3,exit roundabout right,arrive |
 | 
						||
           | j,l       | jkl,jkl,jkl,jkl | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | j,i       | jkl,ghi,ghi,ghi | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | j,f       | jkl,def,def,def | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | j,c       | jkl,abc,abc,abc | depart,roundabout-exit-3,exit roundabout right,arrive |
 | 
						||
 | 
						||
     Scenario: Mixed Entry and Exit - clockwise order
 | 
						||
        Given the node map
 | 
						||
           """
 | 
						||
             c   a
 | 
						||
           j   b   f
 | 
						||
             k   e
 | 
						||
           l   h   d
 | 
						||
             g   i
 | 
						||
           """
 | 
						||
 | 
						||
        And the ways
 | 
						||
           | nodes | junction   | oneway |
 | 
						||
           | abc   |            | yes    |
 | 
						||
           | def   |            | yes    |
 | 
						||
           | ghi   |            | yes    |
 | 
						||
           | jkl   |            | yes    |
 | 
						||
           | behkb | roundabout | yes    |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
           | waypoints | route           | turns                                                |
 | 
						||
           | a,c       | abc,abc,abc,abc | depart,roundabout-exit-4,exit roundabout left,arrive |
 | 
						||
           | a,l       | abc,jkl,jkl,jkl | depart,roundabout-exit-3,exit roundabout left,arrive |
 | 
						||
           | a,i       | abc,ghi,ghi,ghi | depart,roundabout-exit-2,exit roundabout left,arrive |
 | 
						||
           | a,f       | abc,def,def,def | depart,roundabout-exit-1,exit roundabout left,arrive |
 | 
						||
           | d,f       | def,def,def,def | depart,roundabout-exit-4,exit roundabout left,arrive |
 | 
						||
           | d,c       | def,abc,abc,abc | depart,roundabout-exit-3,exit roundabout left,arrive |
 | 
						||
           | d,l       | def,jkl,jkl,jkl | depart,roundabout-exit-2,exit roundabout left,arrive |
 | 
						||
           | d,i       | def,ghi,ghi,ghi | depart,roundabout-exit-1,exit roundabout left,arrive |
 | 
						||
           | g,i       | ghi,ghi,ghi,ghi | depart,roundabout-exit-4,exit roundabout left,arrive |
 | 
						||
           | g,f       | ghi,def,def,def | depart,roundabout-exit-3,exit roundabout left,arrive |
 | 
						||
           | g,c       | ghi,abc,abc,abc | depart,roundabout-exit-2,exit roundabout left,arrive |
 | 
						||
           | g,l       | ghi,jkl,jkl,jkl | depart,roundabout-exit-1,exit roundabout left,arrive |
 | 
						||
           | j,l       | jkl,jkl,jkl,jkl | depart,roundabout-exit-4,exit roundabout left,arrive |
 | 
						||
           | j,i       | jkl,ghi,ghi,ghi | depart,roundabout-exit-3,exit roundabout left,arrive |
 | 
						||
           | j,f       | jkl,def,def,def | depart,roundabout-exit-2,exit roundabout left,arrive |
 | 
						||
           | j,c       | jkl,abc,abc,abc | depart,roundabout-exit-1,exit roundabout left,arrive |
 | 
						||
 | 
						||
    Scenario: Mixed Entry and Exit - segregated roads, different names
 | 
						||
        Given the node map
 | 
						||
           """
 | 
						||
               a   c
 | 
						||
 | 
						||
           l     b     d
 | 
						||
               k   e
 | 
						||
           j     h     f
 | 
						||
 | 
						||
               i   g
 | 
						||
           """
 | 
						||
 | 
						||
        And the ways
 | 
						||
           | nodes | junction   | oneway |
 | 
						||
           | ab    |            | yes    |
 | 
						||
           | bc    |            | yes    |
 | 
						||
           | de    |            | yes    |
 | 
						||
           | ef    |            | yes    |
 | 
						||
           | gh    |            | yes    |
 | 
						||
           | hi    |            | yes    |
 | 
						||
           | jk    |            | yes    |
 | 
						||
           | kl    |            | yes    |
 | 
						||
           | bkheb | roundabout | yes    |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
           | waypoints | route       | turns                                                 |
 | 
						||
           | a,c       | ab,bc,bc,bc | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | a,l       | ab,kl,kl,kl | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | a,i       | ab,hi,hi,hi | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | a,f       | ab,ef,ef,ef | depart,roundabout-exit-3,exit roundabout right,arrive |
 | 
						||
           | d,f       | de,ef,ef,ef | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | d,c       | de,bc,bc,bc | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | d,l       | de,kl,kl,kl | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | d,i       | de,hi,hi,hi | depart,roundabout-exit-3,exit roundabout right,arrive |
 | 
						||
           | g,i       | gh,hi,hi,hi | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | g,f       | gh,ef,ef,ef | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | g,c       | gh,bc,bc,bc | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | g,l       | gh,kl,kl,kl | depart,roundabout-exit-3,exit roundabout right,arrive |
 | 
						||
           | j,l       | jk,kl,kl,kl | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | j,i       | jk,hi,hi,hi | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | j,f       | jk,ef,ef,ef | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | j,c       | jk,bc,bc,bc | depart,roundabout-exit-3,exit roundabout right,arrive |
 | 
						||
 | 
						||
    Scenario: Motorway Roundabout
 | 
						||
    #See 39.933742 -75.082345
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                    l       a   i
 | 
						||
 | 
						||
 | 
						||
                        b
 | 
						||
                  c
 | 
						||
 | 
						||
                            h
 | 
						||
            n
 | 
						||
 | 
						||
                d               j
 | 
						||
 | 
						||
                    m     g
 | 
						||
 | 
						||
 | 
						||
                e   f
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes | junction   | name     | highway    | oneway | ref    |
 | 
						||
            | ab    |            | crescent | trunk      | yes    | US 130 |
 | 
						||
            | bcd   | roundabout | crescent | trunk      | yes    | US 130 |
 | 
						||
            | de    |            | crescent | trunk      | yes    | US 130 |
 | 
						||
            | fg    |            | crescent | trunk      | yes    | US 130 |
 | 
						||
            | gh    | roundabout | crescent | trunk      | yes    | US 130 |
 | 
						||
            | hi    |            | crescent | trunk      | yes    | US 130 |
 | 
						||
            | jh    |            |          | trunk_link | yes    | NJ 38  |
 | 
						||
            | hb    | roundabout |          | trunk_link | yes    | NJ 38  |
 | 
						||
            | bl    |            |          | trunk_link | yes    | NJ 38  |
 | 
						||
            | cnd   |            | kaighns  | trunk_link | yes    |        |
 | 
						||
            | dmg   | roundabout |          | trunk_link | yes    |        |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route                               | turns                                                    | ref                         |
 | 
						||
            | a,e       | crescent,crescent,crescent,crescent | depart,roundabout-exit-3,exit roundabout straight,arrive | US 130,US 130,US 130,US 130 |
 | 
						||
            | j,l       | ,,,                                 | depart,roundabout-exit-2,exit roundabout straight,arrive | NJ 38,NJ 38,NJ 38,NJ 38     |
 | 
						||
 | 
						||
    # this test previously only passed by accident. We need to handle throughabouts correctly, since staying on massachusetts is actually
 | 
						||
    # the desired setting. Rotary instructions here are not wanted but rather no instruction at all to go through the roundabout (or add
 | 
						||
    # a throughabout instruction)
 | 
						||
    # see https://github.com/Project-OSRM/osrm-backend/issues/3142
 | 
						||
    Scenario: Double Roundabout with through-lane
 | 
						||
    #http://map.project-osrm.org/?z=18¢er=38.911752%2C-77.048667&loc=38.912003%2C-77.050831&loc=38.909277%2C-77.042516&hl=en&alt=0
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                    o                       n
 | 
						||
                   .e.                     _j_.
 | 
						||
                  /   '.                  /    \
 | 
						||
                 /      q__             /       |
 | 
						||
            a---b       |  >s---f-------g       i---k
 | 
						||
                .       r''     |       .' . .p'|
 | 
						||
                 .      |       t        .     .'
 | 
						||
                   'c---d                  'h'
 | 
						||
                    l                       m
 | 
						||
            """
 | 
						||
 | 
						||
        And the nodes
 | 
						||
            | node | highway         |
 | 
						||
            | i    | traffic_signals |
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes   | junction   | name            | oneway |
 | 
						||
            | bcdrqeb | roundabout | sheridan circle | yes    |
 | 
						||
            | ghi     | roundabout | dupont circle   | yes    |
 | 
						||
            | ij      | roundabout | dupont circle   | yes    |
 | 
						||
            | jg      | roundabout | dupont circle   | yes    |
 | 
						||
            | ab      |            | massachusetts   | no     |
 | 
						||
            | gp      |            | massachusetts   | no     |
 | 
						||
            | pi      |            | massachusetts   | no     |
 | 
						||
            | sfg     |            | massachusetts   | no     |
 | 
						||
            | ik      |            | massachusetts   | no     |
 | 
						||
            | cl      |            | 23rd street     | no     |
 | 
						||
            | oe      |            | r street        | no     |
 | 
						||
            | jn      |            | new hampshire   | no     |
 | 
						||
            | mh      |            | new hampshire   | yes    |
 | 
						||
            | rsq     |            | massachusetts   | yes    |
 | 
						||
            | ft      |            | suppressed      | no     |
 | 
						||
 | 
						||
        And the relations
 | 
						||
            | type        | way:from | way:to | node:via | restriction   |
 | 
						||
            | restriction | pi       | ij     | i        | no_left_turn  |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route                                                   | turns                                                  |
 | 
						||
            | a,k       | massachusetts,massachusetts,massachusetts,massachusetts | depart,sheridan circle-exit-2,exit rotary right,arrive |
 | 
						||
 | 
						||
    #2856 - http://www.openstreetmap.org/#map=19/47.23318/-1.56563
 | 
						||
    Scenario: Linked Roundabouts
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                                    x
 | 
						||
            u                     r
 | 
						||
 | 
						||
                t
 | 
						||
                              s
 | 
						||
              v     i   h   g
 | 
						||
                                q
 | 
						||
 | 
						||
                j               f
 | 
						||
 | 
						||
 | 
						||
                a               e
 | 
						||
 | 
						||
 | 
						||
                    b   c   d   p
 | 
						||
 | 
						||
              m               n
 | 
						||
                  l
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
              k
 | 
						||
 | 
						||
 | 
						||
 | 
						||
            w                   o
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes | junction   | name | highway   | oneway |
 | 
						||
            | abija | roundabout | egg  | primary   | yes    |
 | 
						||
            | defgd | roundabout | egg  | primary   | yes    |
 | 
						||
            | bcd   | roundabout | egg  | primary   | yes    |
 | 
						||
            | ghi   |            | egg  | primary   | yes    |
 | 
						||
            | amklb |            | ll   | primary   | yes    |
 | 
						||
            | wk    |            | ll   | primary   | no     |
 | 
						||
            | dnope |            | lr   | secondary | yes    |
 | 
						||
            | fqrsg |            | tr   | primary   | yes    |
 | 
						||
            | rx    |            | tr   | primary   | no     |
 | 
						||
            | ituvj |            | tl   | primary   | yes    |
 | 
						||
 | 
						||
        And the nodes
 | 
						||
            | node | highway  |
 | 
						||
            | c    | give_way |
 | 
						||
            | h    | give_way |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route            | turns                                                | locations |
 | 
						||
            # since we cannot handle these invalid roundabout tags yet, we cannot output roundabout taggings. This will hopefully change some day
 | 
						||
            #| w,x       | ll,egg,egg,tr,tr | depart,roundabout-exit-1,roundabout-exit-2,arrive       |
 | 
						||
            | w,x       | ll,egg,egg,tr,tr | depart,turn right,continue left,turn straight,arrive | w,b,d,f,x |
 | 
						||
 | 
						||
    Scenario: Use Lane in Roundabout
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                    . i  . . . .. .
 | 
						||
                  .'                '.
 | 
						||
            a - b.                    f - g
 | 
						||
                 .                    |
 | 
						||
                  '. 1               /
 | 
						||
                     '.             /
 | 
						||
                j - - - c .       . e
 | 
						||
                            ' d '
 | 
						||
                                 '  h
 | 
						||
            """
 | 
						||
 | 
						||
        #using roundabout as name, we can ignore whether we see a roundabout or a rotary here. Cucumber output will be the same
 | 
						||
        And the ways
 | 
						||
            | nodes  | junction   | name          | oneway | turn:lanes:forward    |
 | 
						||
            | ba     |            | left-out      | yes    |                       |
 | 
						||
            | jc     |            | left-in       | yes    |                       |
 | 
						||
            | dh     |            | right-bot-out | yes    |                       |
 | 
						||
            | fg     |            | right-top-out | yes    |                       |
 | 
						||
            | bc     | roundabout | roundabout    | yes    | left;through\|through |
 | 
						||
            | cdefib | roundabout | roundabout    | yes    |                       |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route                                  | turns                              |
 | 
						||
            | 1,h       | roundabout,right-bot-out,right-bot-out | depart,exit rotary straight,arrive |
 | 
						||
 | 
						||
    @3254
 | 
						||
    Scenario: Driving up to and through a roundabout
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
              g            a
 | 
						||
              |          /   \
 | 
						||
            e-f- - - - b      d - - - h
 | 
						||
              |          \   /
 | 
						||
              i            c
 | 
						||
                           |
 | 
						||
                           k
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes | junction   | name       | highway     |
 | 
						||
            | abcda | roundabout | rotary     | residential |
 | 
						||
            | gfi   |            | side       | residential |
 | 
						||
            | efb   |            | left       | residential |
 | 
						||
            | dh    |            | right      | residential |
 | 
						||
            | ck    |            | bottom     | residential |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route                  | turns                                         |
 | 
						||
            | e,h       | left,right,right,right | depart,rotary-exit-2,exit rotary right,arrive |
 | 
						||
 | 
						||
    @3254
 | 
						||
    Scenario: Driving up to and through a roundabout
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
              g       a
 | 
						||
              |     /   \
 | 
						||
            e-f - b      d - - - h
 | 
						||
              |     \   /
 | 
						||
              i       c
 | 
						||
                      |
 | 
						||
                      k
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes | junction   | name       | highway     |
 | 
						||
            | abcda | roundabout | rotary     | residential |
 | 
						||
            | gfi   |            | side       | residential |
 | 
						||
            | efb   |            | left       | residential |
 | 
						||
            | dh    |            | right      | residential |
 | 
						||
            | ck    |            | bottom     | residential |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route                  | turns                                         |
 | 
						||
            | e,h       | left,right,right,right | depart,rotary-exit-2,exit rotary right,arrive |
 | 
						||
 | 
						||
    @3361
 | 
						||
    Scenario: Bersarinplatz (Not a Roundabout)
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                   a    n
 | 
						||
 | 
						||
                   b     m
 | 
						||
 | 
						||
                c          l
 | 
						||
 | 
						||
            d  e         j   k
 | 
						||
 | 
						||
                f     h
 | 
						||
 | 
						||
                g     i
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes     | junction   | name                 | ref   | highway     | oneway |
 | 
						||
            | ab        |            | Petersburger Strasse | B 96a | primary     | yes    |
 | 
						||
            | bc        | circular   | Bersarinplatz        | B 96a | primary     |        |
 | 
						||
            | ce        | circular   | Bersarinplatz        | B 96a | primary     |        |
 | 
						||
            | ed        |            | Weidenweg            |       | residential |        |
 | 
						||
            | ef        | circular   | Bersarinplatz        | B 96a | primary     |        |
 | 
						||
            | fg        |            | Petersburger Strasse | B 96a | primary     | yes    |
 | 
						||
            | fh        | circular   | Bersarinplatz        |       | secondary   |        |
 | 
						||
            | ih        |            | Petersburger Strasse | B 96a | primary     | yes    |
 | 
						||
            | hj        | circular   | Bersarinplatz        |       | secondary   |        |
 | 
						||
            | jk        |            | Rigaer Strasse       |       | residential |        |
 | 
						||
            | jl        | circular   | Bersarinplatz        |       | secondary   |        |
 | 
						||
            | lm        | circular   | Bersarinplatz        |       | secondary   |        |
 | 
						||
            | mb        | circular   | Bersarinplatz        |       | secondary   |        |
 | 
						||
            | mn        |            | Petersburger Strasse | B 96a | primary     | yes    |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route                                                                               | turns                                                   |
 | 
						||
            | a,g       | Petersburger Strasse,Petersburger Strasse,Petersburger Strasse,Petersburger Strasse | depart,Bersarinplatz-exit-2,exit rotary straight,arrive |
 | 
						||
            | d,g       | Weidenweg,Petersburger Strasse,Petersburger Strasse,Petersburger Strasse            | depart,Bersarinplatz-exit-1,exit rotary straight,arrive |
 | 
						||
            | i,k       | Petersburger Strasse,Rigaer Strasse,Rigaer Strasse,Rigaer Strasse                   | depart,Bersarinplatz-exit-1,exit rotary right,arrive    |
 | 
						||
            | i,n       | Petersburger Strasse,Petersburger Strasse,Petersburger Strasse,Petersburger Strasse | depart,Bersarinplatz-exit-2,exit rotary straight,arrive |
 | 
						||
            | i,d       | Petersburger Strasse,Weidenweg,Weidenweg,Weidenweg                                  | depart,Bersarinplatz-exit-3,exit rotary right,arrive    |
 | 
						||
            | i,g       | Petersburger Strasse,Petersburger Strasse,Petersburger Strasse,Petersburger Strasse | depart,Bersarinplatz-exit-4,exit rotary straight,arrive |
 | 
						||
 | 
						||
    @turboroundabout
 | 
						||
    # http://www.openstreetmap.org/?mlat=48.782118&mlon=8.194456&zoom=16#map=19/48.78216/8.19457
 | 
						||
    Scenario: Turboroundabout, Baden-Baden
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                a p
 | 
						||
                b o
 | 
						||
            d c     m n
 | 
						||
            f e     k l
 | 
						||
                g i
 | 
						||
                h j
 | 
						||
            """
 | 
						||
 | 
						||
       And the ways
 | 
						||
            | nodes | highway     | oneway | junction   | name          | turn:lanes                             |
 | 
						||
            | ab    | trunk_link  | yes    |            |               |                                        |
 | 
						||
            | bc    | trunk       | yes    | roundabout | Europaplatz   | slight_left;slight_right\|slight_right |
 | 
						||
            | cd    | trunk       | yes    |            | Europastrasse |                                        |
 | 
						||
            | ce    | trunk       | yes    | roundabout | Europaplatz   |                                        |
 | 
						||
            | fe    | trunk       | yes    |            | Europastrasse |                                        |
 | 
						||
            | eg    | trunk       | yes    | roundabout | Europaplatz   |                                        |
 | 
						||
            | gh    | residential | yes    |            | Allee Cite    |                                        |
 | 
						||
            | gi    | trunk       | yes    | roundabout | Europaplatz   |                                        |
 | 
						||
            | ji    | residential | yes    |            | Allee Cite    |                                        |
 | 
						||
            | ik    | trunk       | yes    | roundabout | Europaplatz   | slight_left;slight_right\|slight_right |
 | 
						||
            | kl    | trunk       | yes    |            | Europastrasse |                                        |
 | 
						||
            | km    | trunk       | yes    | roundabout | Europaplatz   |                                        |
 | 
						||
            | nm    | trunk       | yes    |            | Europastrasse |                                        |
 | 
						||
            | mo    | trunk       | yes    | roundabout | Europaplatz   |                                        |
 | 
						||
            | op    | trunk_link  | yes    |            |               |                                        |
 | 
						||
            | ob    | trunk       | yes    | roundabout | Europaplatz   |                                        |
 | 
						||
 | 
						||
       When I route I should get
 | 
						||
           | waypoints | route                                      | turns                                              |
 | 
						||
           | a,d       | ,Europastrasse,Europastrasse,Europastrasse | depart,Europaplatz-exit-1,exit rotary right,arrive |
 | 
						||
           | a,h       | ,Allee Cite,Allee Cite,Allee Cite          | depart,Europaplatz-exit-2,exit rotary right,arrive |
 | 
						||
           | a,l       | ,Europastrasse,Europastrasse,Europastrasse | depart,Europaplatz-exit-3,exit rotary right,arrive |
 | 
						||
           | a,p       | ,,,                                        | depart,Europaplatz-exit-4,exit rotary right,arrive |
 | 
						||
 | 
						||
    @turboroundabout
 | 
						||
    # http://www.openstreetmap.org/?mlat=50.180039&mlon=8.474939&zoom=16#map=19/50.17999/8.47506
 | 
						||
    Scenario: Turboroundabout, Königstein im Taunus
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                a
 | 
						||
                b   w t   v
 | 
						||
              c         s u
 | 
						||
              d           r
 | 
						||
            f e         q
 | 
						||
              g         p
 | 
						||
            h   i     n
 | 
						||
              j   k m
 | 
						||
                    l o
 | 
						||
            """
 | 
						||
 | 
						||
       And the ways
 | 
						||
            | nodes | highway      | oneway | junction   | name                         | turn:lanes                         |
 | 
						||
            | ab    | primary      | yes    |            | Le-Cannet-Rocheville-Strasse |                                    |
 | 
						||
            | wa    | primary      | yes    |            | Le-Cannet-Rocheville-Strasse |                                    |
 | 
						||
            | bc    | primary      | yes    | roundabout |                              | through\|through;right             |
 | 
						||
            | cd    | primary      | yes    | roundabout |                              | through\|through\|right;through    |
 | 
						||
            | df    | tertiary     | yes    |            | Frankfurter Strasse          |                                    |
 | 
						||
            | de    | primary      | yes    | roundabout |                              | through\|through\|right;through    |
 | 
						||
            | fe    | tertiary     | yes    |            | Frankfurter Strasse          |                                    |
 | 
						||
            | eg    | primary      | yes    | roundabout |                              | through\|through\|right;through    |
 | 
						||
            | gh    | primary      | yes    |            | Bischof-Kaller-Strasse       |                                    |
 | 
						||
            | gi    | primary      | yes    | roundabout |                              | left\|through;slight_left\|through |
 | 
						||
            | ji    | primary      | yes    |            | Bischof-Kaller-Strasse       |                                    |
 | 
						||
            | ik    | primary      | yes    | roundabout |                              | left\|through;slight_left\|through |
 | 
						||
            | km    | primary      | yes    | roundabout |                              |                                    |
 | 
						||
            | kl    | primary      | yes    |            | Sodener Strasse              |                                    |
 | 
						||
            | mn    | primary      | yes    | roundabout |                              | through\|through;right             |
 | 
						||
            | on    | primary      | yes    |            | Sodener Strasse              |                                    |
 | 
						||
            | np    | primary      | yes    | roundabout |                              | through\|through;right             |
 | 
						||
            | pq    | primary      | yes    | roundabout |                              | through\|through\|right;through    |
 | 
						||
            | qr    | primary      | yes    |            |                              |                                    |
 | 
						||
            | qs    | primary      | yes    | roundabout |                              |                                    |
 | 
						||
            | us    | primary_link | yes    |            |                              |                                    |
 | 
						||
            | st    | primary      | yes    | roundabout |                              |                                    |
 | 
						||
            | vt    | primary      | yes    |            |                              |                                    |
 | 
						||
            | tw    | primary      | yes    | roundabout |                              | left\|left\|right\|right           |
 | 
						||
            | wa    | primary      | yes    |            | Le-Cannet-Rocheville-Strasse |                                    |
 | 
						||
            | wb    | primary      | yes    | roundabout |                              | through\|through;right             |
 | 
						||
 | 
						||
       When I route I should get
 | 
						||
           | waypoints | route                                                                                             | turns                                                 |
 | 
						||
           | a,w       | Le-Cannet-Rocheville-Strasse,,                                                                    | depart,roundabout-exit-undefined,arrive               |
 | 
						||
           | a,r       | Le-Cannet-Rocheville-Strasse,,,                                                                   | depart,roundabout-exit-4,exit roundabout right,arrive |
 | 
						||
           | a,f       | Le-Cannet-Rocheville-Strasse,Frankfurter Strasse,Frankfurter Strasse,Frankfurter Strasse          | depart,roundabout-exit-1,exit roundabout right,arrive |
 | 
						||
           | a,h       | Le-Cannet-Rocheville-Strasse,Bischof-Kaller-Strasse,Bischof-Kaller-Strasse,Bischof-Kaller-Strasse | depart,roundabout-exit-2,exit roundabout right,arrive |
 | 
						||
           | u,r       | ,,,                                                                                               | depart,roundabout-exit-5,exit roundabout right,arrive |
 | 
						||
           | j,h       | Bischof-Kaller-Strasse,Bischof-Kaller-Strasse,Bischof-Kaller-Strasse,Bischof-Kaller-Strasse       | depart,roundabout-exit-5,exit roundabout right,arrive |
 | 
						||
           | n,m       | ,                                                                                                 | depart,arrive                                         |
 | 
						||
 | 
						||
    @turboroundabout
 | 
						||
    # http://www.openstreetmap.org/?mlat=47.57723&mlon=7.796765&zoom=16#map=19/47.57720/7.79711
 | 
						||
    Scenario: Turboroundabout, Rheinfelden (Baden)
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
            r             w
 | 
						||
                a   l k
 | 
						||
              b         j
 | 
						||
              c
 | 
						||
              d         i
 | 
						||
            s   e f g h   v
 | 
						||
 | 
						||
                  t u
 | 
						||
            """
 | 
						||
 | 
						||
       And the ways
 | 
						||
            | nodes | highway      | oneway | junction   |
 | 
						||
            | ar    | secondary    | yes    |            |
 | 
						||
            | ab    | primary      | yes    | roundabout |
 | 
						||
            | rb    | secondary    | yes    |            |
 | 
						||
            | bc    | primary      | yes    | roundabout |
 | 
						||
            | cd    | primary      | yes    | roundabout |
 | 
						||
            | ds    | primary      | yes    |            |
 | 
						||
            | se    | primary      | yes    |            |
 | 
						||
            | de    | primary      | yes    | roundabout |
 | 
						||
            | ef    | primary      | yes    | roundabout |
 | 
						||
            | ft    | unclassified | yes    |            |
 | 
						||
            | fg    | primary      | yes    | roundabout |
 | 
						||
            | ug    | unclassified | yes    |            |
 | 
						||
            | gh    | primary      | yes    | roundabout |
 | 
						||
            | hv    | primary      | yes    |            |
 | 
						||
            | hi    | primary      | yes    | roundabout |
 | 
						||
            | vi    | primary      | yes    |            |
 | 
						||
            | ij    | primary      | yes    | roundabout |
 | 
						||
            | jw    | tertiary     | yes    |            |
 | 
						||
            | jk    | primary      | yes    | roundabout |
 | 
						||
            | wk    | tertiary     | yes    |            |
 | 
						||
            | kl    | primary      | yes    | roundabout |
 | 
						||
            | la    | primary      | yes    | roundabout |
 | 
						||
 | 
						||
       When I route I should get
 | 
						||
           | waypoints | route       | turns                                                        |
 | 
						||
           | w,r       | wk,ar,ar,ar | depart,roundabout-exit-1,exit roundabout slight right,arrive |
 | 
						||
           | w,s       | wk,ds,ds,ds | depart,roundabout-exit-2,exit roundabout right,arrive        |
 | 
						||
           | w,t       | wk,ft,ft,ft | depart,roundabout-exit-3,exit roundabout right,arrive        |
 | 
						||
           | w,v       | wk,hv,hv,hv | depart,roundabout-exit-4,exit roundabout straight,arrive     |
 | 
						||
           | u,v       | ug,hv,hv,hv | depart,roundabout-exit-1,exit roundabout straight,arrive     |
 | 
						||
           | u,w       | ug,jw,jw,jw | depart,roundabout-exit-2,exit roundabout slight right,arrive |
 | 
						||
           | u,r       | ug,ar,ar,ar | depart,roundabout-exit-3,exit roundabout slight right,arrive |
 | 
						||
           | u,s       | ug,ds,ds,ds | depart,roundabout-exit-4,exit roundabout right,arrive        |
 | 
						||
           | u,t       | ug,ft,ft,ft | depart,roundabout-exit-5,exit roundabout right,arrive        |
 | 
						||
 | 
						||
    @3762
 | 
						||
    Scenario: Only Enter
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                  a
 | 
						||
                  b
 | 
						||
           i   c     e ~ ~ ~ f - h
 | 
						||
                j d
 | 
						||
              k   g
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes  | junction   | route |
 | 
						||
            | ab     |            |       |
 | 
						||
            | ef     |            | ferry |
 | 
						||
            | fh     |            |       |
 | 
						||
            | dg     |            |       |
 | 
						||
            | ic     |            |       |
 | 
						||
            | jk     |            |       |
 | 
						||
            | bcjdeb | roundabout |       |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | waypoints | route          | turns                                                                              |
 | 
						||
            | a,h       | ab,ef,ef,fh,fh | depart,roundabout-exit-4,exit roundabout slight right,notification straight,arrive |
 | 
						||
 | 
						||
 | 
						||
     Scenario: Drive through roundabout
 | 
						||
        Given the node map
 | 
						||
           """
 | 
						||
              a
 | 
						||
            b e d  f
 | 
						||
              c
 | 
						||
            g   h
 | 
						||
           """
 | 
						||
 | 
						||
        And the ways
 | 
						||
           | nodes | junction   | oneway |
 | 
						||
           | abcda | roundabout | yes    |
 | 
						||
           | edf   |            |        |
 | 
						||
           | gch   |            | yes    |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
           | waypoints | bearings | route           | turns                                                      |
 | 
						||
           | e,f       | 90 90    | edf,edf         | depart,arrive                                              |
 | 
						||
           | e,h       | 90 135   | edf,gch,gch,gch | depart,roundabout-exit-2,exit roundabout straight,arrive   |
 | 
						||
           | g,f       | 45 90    | gch,edf,edf,edf | depart,roundabout-exit-2,exit roundabout right,arrive      |
 | 
						||
           | g,h       | 45 135   | gch,gch,gch     | depart,exit roundabout right,arrive                        |
 | 
						||
           | e,e       | 90 270   | edf,edf,edf,edf | depart,roundabout-exit-3,exit roundabout sharp left,arrive |
 | 
						||
 | 
						||
    Scenario: CCW and CW roundabouts with overlaps
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
            a   d          g   h
 | 
						||
 | 
						||
            b   c          j   i
 | 
						||
            f   e          k   l
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes | highway  | junction   |
 | 
						||
            | abcda | tertiary | roundabout |
 | 
						||
            | ed    | tertiary |            |
 | 
						||
            | af    | tertiary |            |
 | 
						||
            | ghijg | tertiary | roundabout |
 | 
						||
            | kg    | tertiary |            |
 | 
						||
            | hl    | tertiary |            |
 | 
						||
 | 
						||
        # the turn angles here are quite strange, so we do get uturns for exiting
 | 
						||
        When I route I should get
 | 
						||
            | from | to | route       | turns                                                 | distance |
 | 
						||
            | e    | f  | ed,af,af,af | depart,roundabout-exit-1,exit roundabout left,arrive  | 80.1m    |
 | 
						||
            | f    | e  | af,ed,ed,ed | depart,roundabout-exit-1,exit roundabout uturn,arrive | 120.1m   |
 | 
						||
            | k    | l  | kg,hl,hl,hl | depart,roundabout-exit-1,exit roundabout right,arrive | 80.1m    |
 | 
						||
            | l    | k  | hl,kg,kg,kg | depart,roundabout-exit-1,exit roundabout uturn,arrive | 120.1m   |
 | 
						||
 | 
						||
    @4030 @4075
 | 
						||
    Scenario: Service roundabout with service exits
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
            g a d f
 | 
						||
            h b1c e
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes | highway  | junction   |
 | 
						||
            | abcda | service  | roundabout |
 | 
						||
            | ce    | service  |            |
 | 
						||
            | df    | service  |            |
 | 
						||
            | ag    | tertiary |            |
 | 
						||
            | bh    | service  |            |
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | from | to | route       | turns                                   |
 | 
						||
            |    1 | e  | abcda,ce,ce | depart,exit roundabout straight,arrive  |
 | 
						||
            |    1 | f  | abcda,df,df | depart,exit roundabout right,arrive     |
 | 
						||
            |    1 | g  | abcda,ag,ag | depart,exit roundabout straight,arrive  |
 | 
						||
            |    1 | h  | abcda,bh,bh | depart,exit roundabout right,arrive     |
 | 
						||
 | 
						||
    Scenario: Collapsing a sliproad step after roundabouts
 | 
						||
        Given the node map
 | 
						||
            """
 | 
						||
                  a         r          j
 | 
						||
                ╱   ╲     ╱   ╲        │
 | 
						||
            e——b——1——d———s     u——f——g—h——l
 | 
						||
                ╲   ╱     ╲   ╱       `i
 | 
						||
                  c         t          │
 | 
						||
                  │         │          │
 | 
						||
                  m         v          k
 | 
						||
            """
 | 
						||
 | 
						||
        And the ways
 | 
						||
            | nodes | highway  | junction   | oneway | #         |
 | 
						||
            | abcda | tertiary | roundabout |        | circle    |
 | 
						||
            | ebds  | tertiary |            |        | road      |
 | 
						||
            | cm    | tertiary |            |        |           |
 | 
						||
            | ds    | tertiary |            |        | road      |
 | 
						||
            | rstur | tertiary | roundabout |        | circle2   |
 | 
						||
            | ufghl | tertiary |            |        | road      |
 | 
						||
            | tv    | tertiary |            |        |           |
 | 
						||
            | gi    | tertiary |            | yes    | sliproad  |
 | 
						||
            | jhik  | tertiary |            |        | crossroad |
 | 
						||
 | 
						||
 | 
						||
        When I route I should get
 | 
						||
            | from | to | route                      | turns                                                   | distance |
 | 
						||
            | e    | k  | ebds,ufghl,ufghl,jhik,jhik | depart,rstur-exit-2,exit rotary right,turn right,arrive | 189.1m   |
 | 
						||
            | 1    | k  | ebds,ufghl,ufghl,jhik,jhik | depart,rstur-exit-2,exit rotary right,turn right,arrive | 159.1m   |
 |