better testbot maxspeed handling, fix test

This commit is contained in:
Emil Tin 2013-01-19 16:00:36 +01:00
parent 384be58230
commit 43bb53e789
2 changed files with 17 additions and 11 deletions

View File

@ -34,8 +34,10 @@ Feature: Car - Max speed restrictions
When I route I should get When I route I should get
| from | to | route | time | | from | to | route | time |
| a | b | ab | 20s +-1 | | a | b | ab | 10s +-1 |
| b | c | bc | 20s +-1 | | b | a | ab | 10s +-1 |
| b | c | bc | 10s +-1 |
| c | b | bc | 10s +-1 |
@opposite @opposite
Scenario: Testbot - Forward/backward maxspeed Scenario: Testbot - Forward/backward maxspeed

View File

@ -74,21 +74,25 @@ function way_function (way, numberOfNodesInWay)
way.speed = math.max( 1, parseDuration(duration) / math.max(1, numberOfNodesInWay-1) ) way.speed = math.max( 1, parseDuration(duration) / math.max(1, numberOfNodesInWay-1) )
way.is_duration_set = true way.is_duration_set = true
else else
way.speed = speed_profile[highway] or speed_profile['default'] local speed_forw = speed_profile[highway] or speed_profile['default']
local speed_back = speed_forw
if highway == "river" then if highway == "river" then
local temp_speed = way.speed; local temp_speed = way.speed;
way.speed = temp_speed*3/2 speed_forw = temp_speed*3/2
way.backward_speed = temp_speed*2/3 speed_back = temp_speed*2/3
else
way.backward_speed = way.speed
end end
way.speed = limit_speed( way.speed, {maxspeed_forward, maxspeed} ) speed_forw = limit_speed( speed_forw, {maxspeed_forward, maxspeed} )
way.backward_speed = limit_speed( way.backward_speed, {maxspeed_backward, maxspeed} ) speed_back = limit_speed( speed_back, {maxspeed_backward, maxspeed} )
-- print( 'limit forw: ' .. tostring(way.speed)) way.speed = speed_forw
-- print( 'limit back: ' .. tostring(way.backward_speed)) if speed_back ~= way_forw then
way.backward_speed = speed_back
end
-- print( 'speed forw: ' .. tostring(way.speed))
-- print( 'speed back: ' .. tostring(way.backward_speed))
end end
if oneway == "no" or oneway == "0" or oneway == "false" then if oneway == "no" or oneway == "0" or oneway == "false" then