bike: normal speed on paths with asphalt, add tests
This commit is contained in:
		
							parent
							
								
									d9e3c43c91
								
							
						
					
					
						commit
						47f11fc3a6
					
				
							
								
								
									
										40
									
								
								features/bicycle/surface.feature
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								features/bicycle/surface.feature
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,40 @@ | ||||
| @routing @surface @bicycle | ||||
| Feature: Bike - Surfaces | ||||
| 
 | ||||
|     Background: | ||||
|         Given the profile "bicycle" | ||||
| 
 | ||||
|     Scenario: Bicycle - Slow surfaces | ||||
|         Then routability should be | ||||
|             | highway  | surface               | bothw | | ||||
|             | cycleway |                       | 49s   | | ||||
|             | cycleway | asphalt               | 49s   | | ||||
|             | cycleway | cobblestone:flattened | 73s   | | ||||
|             | cycleway | paving_stones         | 73s   | | ||||
|             | cycleway | compacted             | 73s   | | ||||
|             | cycleway | cobblestone           | 121s  | | ||||
|             | cycleway | unpaved               | 121s  | | ||||
|             | cycleway | fine_gravel           | 121s  | | ||||
|             | cycleway | gravel                | 121s  | | ||||
|             | cycleway | pebbelstone           | 121s  | | ||||
|             | cycleway | dirt                  | 121s  | | ||||
|             | cycleway | earth                 | 121s  | | ||||
|             | cycleway | grass                 | 121s  | | ||||
|             | cycleway | mud                   | 241s  | | ||||
|             | cycleway | sand                  | 241s  | | ||||
| 
 | ||||
|     Scenario: Bicycle - Good surfaces on small paths | ||||
|         Then routability should be | ||||
|         | highway  | surface | bothw | | ||||
|         | cycleway |         | 49s   | | ||||
|         | path     |         | 61s   | | ||||
|         | track    |         | 61s   | | ||||
|         | track    | asphalt | 49s   | | ||||
|         | path     | asphalt | 49s   | | ||||
| 
 | ||||
|     Scenario: Bicycle - Surfaces should not make unknown ways routable | ||||
|         Then routability should be | ||||
|         | highway  | surface | bothw | | ||||
|         | cycleway |         | 49s   | | ||||
|         | nosense  |         |       | | ||||
|         | nosense  | asphalt |       | | ||||
| @ -66,6 +66,7 @@ route_speeds = { | ||||
| } | ||||
| 
 | ||||
| surface_speeds = { | ||||
| 	["asphalt"] = default_speed, | ||||
| 	["cobblestone:flattened"] = 10, | ||||
| 	["paving_stones"] = 10, | ||||
| 	["compacted"] = 10, | ||||
| @ -317,8 +318,12 @@ function way_function (way) | ||||
|     if surface then | ||||
|         surface_speed = surface_speeds[surface] | ||||
|         if surface_speed then | ||||
|             way.speed = math.min(way.speed, surface_speed) | ||||
|             way.backward_speed  = math.min(way.backward_speed, surface_speed) | ||||
|             if way.speed > 0 then | ||||
|                 way.speed = surface_speed | ||||
|             end | ||||
|             if way.backward_speed > 0 then | ||||
|               way.backward_speed  = surface_speed | ||||
|             end | ||||
|         end | ||||
|     end | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user