87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
| @routing @car @weight
 | |
| Feature: Car - weights
 | |
| 
 | |
|     Scenario: Only routes down service road when that's the destination
 | |
|         Given the profile "car"
 | |
|         And the node map
 | |
|             """
 | |
|             a--b--c
 | |
|                |  |
 | |
|                d  |
 | |
|                |  |
 | |
|             e--f--g
 | |
|             """
 | |
|         And the ways
 | |
|             | nodes | highway     |
 | |
|             | abc   | residential |
 | |
|             | efg   | residential |
 | |
|             | cg    | tertiary    |
 | |
|             | bdf   | service     |
 | |
|         When I route I should get
 | |
|             | from | to | route          | speed   | weight |
 | |
|             | a    | e  | abc,cg,efg,efg | 29 km/h | 122.4  |
 | |
|             | a    | d  | abc,bdf,bdf    | 18 km/h | 71.7   |
 | |
| 
 | |
|     Scenario: Does not jump off the highway to go down service road
 | |
|         Given the profile "car"
 | |
|         And the node map
 | |
|             """
 | |
|             a
 | |
|             |
 | |
|             b
 | |
|             |\
 | |
|             | e
 | |
|             |/
 | |
|             c
 | |
|             |
 | |
|             d
 | |
|             """
 | |
|         And the nodes
 | |
|             | node | id |
 | |
|             | a    | 1  |
 | |
|             | b    | 2  |
 | |
|             | c    | 3  |
 | |
|             | d    | 4  |
 | |
|             | e    | 5  |
 | |
|         And the ways
 | |
|             | nodes | highway | oneway |
 | |
|             | ab    | primary | yes    |
 | |
|             | bc    | primary | yes    |
 | |
|             | cd    | primary | yes    |
 | |
|             | be    | service | yes    |
 | |
|             | ec    | service | yes    |
 | |
|         And the contract extra arguments "--segment-speed-file {speeds_file}"
 | |
|         And the customize extra arguments "--segment-speed-file {speeds_file}"
 | |
|         And the speed file
 | |
|             """
 | |
|             2,5,8
 | |
|             """
 | |
|         When I route I should get
 | |
|             | from | to | route       | speed   | weight |
 | |
|             | a    | d  | ab,bc,cd,cd | 65 km/h | 44.4   |
 | |
|             | a    | e  | ab,be,be    | 14 km/h | 111.8  |
 | |
| 
 | |
|     Scenario: Distance weights
 | |
|         Given the profile file "car" initialized with
 | |
|         """
 | |
|         profile.properties.weight_name = 'distance'
 | |
|         """
 | |
| 
 | |
|         Given the node map
 | |
|             """
 | |
|             a---b---c
 | |
|                 |
 | |
|                 d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abc   |
 | |
|             | bd    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | waypoints | bearings | route     | distance | weights   | times          |
 | |
|             | a,b       | 90 90    | abc,abc   | 200m     | 200,0     | 11.1s,0s       |
 | |
|             | b,c       | 90 90    | abc,abc   | 200m     | 200,0     | 11.1s,0s       |
 | |
|             | a,d       | 90 180   | abc,bd,bd | 400m     | 200,200,0 | 13.2s,11.1s,0s |
 |