The core is fully contracted for each exclude flag and stored in a merged graph data structure.
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
@routing @testbot @exclude
 | 
						|
Feature: Testbot - Exclude flags
 | 
						|
    Background:
 | 
						|
        Given the profile "testbot"
 | 
						|
        Given the node map
 | 
						|
            """
 | 
						|
            a....b-----c-$-$-d
 | 
						|
                 $     $     :
 | 
						|
                 e.$.$.f.....g
 | 
						|
            """
 | 
						|
 | 
						|
        And the ways
 | 
						|
            | nodes | highway  | toll | #                                                                        |
 | 
						|
            | ab    | primary  |      | always drivable                                                          |
 | 
						|
            | bc    | motorway |      | not drivable for exclude=motorway and exclude=motorway,toll              |
 | 
						|
            | be    | primary  | yes  | not drivable for exclude=toll and exclude=motorway,toll                  |
 | 
						|
            | ef    | primary  | yes  | not drivable for exclude=toll and exclude=motorway,toll                  |
 | 
						|
            | fc    | primary  | yes  | not drivable for exclude=toll and exclude=motorway,toll                  |
 | 
						|
            | cd    | motorway | yes  | not drivable for exclude=motorway exclude=toll and exclude=motorway,toll |
 | 
						|
            | fg    | primary  |      | always drivable                                                          |
 | 
						|
            | gd    | primary  |      | always drivable                                                          |
 | 
						|
 | 
						|
    Scenario: Testbot - exclude nothing
 | 
						|
        When I route I should get
 | 
						|
            | from | to | route          |
 | 
						|
            | a    | d  | ab,bc,cd,cd    |
 | 
						|
            | a    | g  | ab,be,ef,fg,fg |
 | 
						|
            | a    | c  | ab,bc,bc       |
 | 
						|
            | a    | f  | ab,be,ef,ef    |
 | 
						|
 | 
						|
        When I match I should get
 | 
						|
            | trace | matchings | duration |
 | 
						|
            | ad    | ad        | 115      |
 | 
						|
 | 
						|
        When I request a travel time matrix I should get
 | 
						|
            |   | a   | d   |
 | 
						|
            | a | 0   | 115 |
 | 
						|
            | d | 115 | 0   |
 | 
						|
 | 
						|
    Scenario: Testbot - exclude motorway
 | 
						|
        Given the query options
 | 
						|
            | exclude  | motorway        |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | route             |
 | 
						|
            | a    | d  | ab,be,ef,fg,gd,gd |
 | 
						|
            | a    | g  | ab,be,ef,fg,fg    |
 | 
						|
            | a    | c  | ab,be,ef,fc,fc    |
 | 
						|
            | a    | f  | ab,be,ef,ef       |
 | 
						|
 | 
						|
        When I match I should get
 | 
						|
            | trace | matchings | duration |
 | 
						|
            | ad    | ad        | 125      |
 | 
						|
 | 
						|
        When I request a travel time matrix I should get
 | 
						|
            |   | a   | d  |
 | 
						|
            | a | 0   | 125 |
 | 
						|
            | d | 125 | 0  |
 | 
						|
 | 
						|
    Scenario: Testbot - exclude toll
 | 
						|
        Given the query options
 | 
						|
            | exclude | toll |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | route    |
 | 
						|
            | a    | d  |          |
 | 
						|
            | a    | g  |          |
 | 
						|
            | a    | c  | ab,bc,bc |
 | 
						|
            | a    | f  |          |
 | 
						|
            | f    | d  | fg,gd,gd |
 | 
						|
 | 
						|
    Scenario: Testbot - exclude motorway and toll
 | 
						|
        Given the query options
 | 
						|
            | exclude | motorway,toll |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | route    |
 | 
						|
            | a    | d  |          |
 | 
						|
            | a    | g  |          |
 | 
						|
            | a    | c  |          |
 | 
						|
            | a    | f  |          |
 | 
						|
            | f    | d  | fg,gd,gd |
 | 
						|
 | 
						|
    Scenario: Testbot - exclude with unsupported exclude combination
 | 
						|
        Given the query options
 | 
						|
            | exclude | TwoWords2 |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | status | message   |
 | 
						|
            | a    | d  | 400    | Exclude flag combination is not supported. |
 | 
						|
 | 
						|
    Scenario: Testbot - exclude with invalid exclude class name
 | 
						|
        Given the query options
 | 
						|
            | exclude | foo |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | status | message   |
 | 
						|
            | a    | d  | 400    | Exclude flag combination is not supported. |
 | 
						|
 |