103 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
@routing @testbot @sidebias
 | 
						|
Feature: Testbot - side bias
 | 
						|
 | 
						|
    Background:
 | 
						|
        Given the profile file
 | 
						|
        """
 | 
						|
        require 'testbot'
 | 
						|
        properties.left_hand_driving = true
 | 
						|
        """
 | 
						|
 | 
						|
    Scenario: Left hand bias
 | 
						|
        Given the profile file "testbot" extended with
 | 
						|
        """
 | 
						|
        properties.left_hand_driving = true
 | 
						|
        function turn_function (angle)
 | 
						|
          local k = 10 * angle * angle * 50 / (90.0 * 90.0)
 | 
						|
          return (angle >= 0) and k * 1.2 or k / 1.2
 | 
						|
        end
 | 
						|
        """
 | 
						|
        Given the node map
 | 
						|
            | a |   | b |   | c |
 | 
						|
            |   |   |   |   |   |
 | 
						|
            |   |   | d |   |   |
 | 
						|
        And the ways
 | 
						|
            | nodes |
 | 
						|
            | ab    |
 | 
						|
            | bc    |
 | 
						|
            | bd    |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | route    | time       |
 | 
						|
            | d    | a  | bd,ab,ab | 82s +-1    |
 | 
						|
            | d    | c  | bd,bc,bc | 100s +-1   |
 | 
						|
 | 
						|
    Scenario: Right hand bias
 | 
						|
        Given the profile file "testbot" extended with
 | 
						|
        """
 | 
						|
        properties.left_hand_driving = false
 | 
						|
        function turn_function (angle)
 | 
						|
          local k = 10 * angle * angle * 50 / (90.0 * 90.0)
 | 
						|
          return (angle >= 0) and k / 1.2 or k * 1.2
 | 
						|
        end
 | 
						|
        """
 | 
						|
        And the node map
 | 
						|
            | a |   | b |   | c |
 | 
						|
            |   |   |   |   |   |
 | 
						|
            |   |   | d |   |   |
 | 
						|
        And the ways
 | 
						|
            | nodes |
 | 
						|
            | ab    |
 | 
						|
            | bc    |
 | 
						|
            | bd    |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
            | from | to | route    | time       |
 | 
						|
            | d    | a  | bd,ab,ab | 100s +-1   |
 | 
						|
            | d    | c  | bd,bc,bc | 82s +-1    |
 | 
						|
 | 
						|
    Scenario: Roundabout exit counting for left sided driving
 | 
						|
        And a grid size of 10 meters
 | 
						|
        And the node map
 | 
						|
            |   |   | a |   |   |
 | 
						|
            |   |   | b |   |   |
 | 
						|
            | h | g |   | c | d |
 | 
						|
            |   |   | e |   |   |
 | 
						|
            |   |   | f |   |   |
 | 
						|
        And the ways
 | 
						|
            | nodes  | junction   |
 | 
						|
            | ab     |            |
 | 
						|
            | cd     |            |
 | 
						|
            | ef     |            |
 | 
						|
            | gh     |            |
 | 
						|
            | bcegb  | roundabout |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
           | waypoints | route    | turns                                         |
 | 
						|
           | a,d       | ab,cd,cd | depart,roundabout turn left exit-1,arrive     |
 | 
						|
           | a,f       | ab,ef,ef | depart,roundabout turn straight exit-2,arrive |
 | 
						|
           | a,h       | ab,gh,gh | depart,roundabout turn right exit-3,arrive    |
 | 
						|
 | 
						|
    Scenario: Mixed Entry and Exit
 | 
						|
        And a grid size of 10 meters
 | 
						|
        And the node map
 | 
						|
           |   | c |   | a |   |
 | 
						|
           | j |   | b |   | f |
 | 
						|
           |   | k |   | e |   |
 | 
						|
           | l |   | h |   | d |
 | 
						|
           |   | g |   | i |   |
 | 
						|
 | 
						|
        And the ways
 | 
						|
           | nodes | junction   | oneway |
 | 
						|
           | cba   |            | yes    |
 | 
						|
           | fed   |            | yes    |
 | 
						|
           | ihg   |            | yes    |
 | 
						|
           | lkj   |            | yes    |
 | 
						|
           | behkb | roundabout | yes    |
 | 
						|
 | 
						|
        When I route I should get
 | 
						|
           | waypoints | route       | turns                           |
 | 
						|
           | c,a       | cba,cba,cba | depart,roundabout-exit-1,arrive |
 | 
						|
           | l,a       | lkj,cba,cba | depart,roundabout-exit-2,arrive |
 | 
						|
           | i,a       | ihg,cba,cba | depart,roundabout-exit-3,arrive |
 |