diff --git a/features/penalty.feature b/features/penalty.feature index 738d227fe..6d960d10a 100644 --- a/features/penalty.feature +++ b/features/penalty.feature @@ -1,6 +1,7 @@ @routing @penalty @signal Feature: Penalties - +Testbot uses a signal penalty of 7s + Background: Given the speedprofile "testbot" @@ -21,7 +22,34 @@ Feature: Penalties When I route I should get | from | to | route | time | | a | c | abc | 20s +-1 | - | d | f | def | 50s +-1 | + | d | f | def | 27s +-1 | + + Scenario: Signal penalty should not depend on way type + Given the node map + | a | b | c | + | d | e | f | + | g | h | i | + + And the nodes + | node | highway | + | b | traffic_signals | + | e | traffic_signals | + | h | traffic_signals | + + And the ways + | nodes | highway | + | abc | primary | + | def | secondary | + | ghi | tertiary | + + When I route I should get + | from | to | route | time | + | a | b | abc | 10s +-1 | + | a | c | abc | 17s +-1 | + | d | e | abc | 20s +-1 | + | d | f | abc | 27s +-1 | + | g | h | abc | 30s +-1 | + | g | i | abc | 37s +-1 | Scenario: Passing multiple traffic signals should incur a accumulated delay Given the node map @@ -38,8 +66,8 @@ Feature: Penalties | abcde | When I route I should get - | from | to | route | time | - | a | e | abcde | 130s +-1 | + | from | to | route | time | + | a | e | abcde | 61s +-1 | Scenario: Starting or ending at a traffic signal should not incur a delay Given the node map @@ -68,8 +96,8 @@ Feature: Penalties | d | traffic_signals | And the ways - | nodes | - | abcd | + | nodes | highway | + | abcd | primary | When I route I should get | from | to | route | time | @@ -86,10 +114,10 @@ Feature: Penalties | b | traffic_signals | And the ways - | nodes | - | abc | - | adc | + | nodes | highway | + | abc | primary | + | adc | primary | When I route I should get | from | to | route | - | a | c | adc | + | a | c | adc | \ No newline at end of file diff --git a/profiles/testbot.lua b/profiles/testbot.lua index 848c7c295..a3bb7313b 100644 --- a/profiles/testbot.lua +++ b/profiles/testbot.lua @@ -13,6 +13,17 @@ speed_profile = { ["default"] = 24 } +-- these settings are read directly by osrm + +take_minimum_of_speeds = true +obey_oneway = true +obey_bollards = true +use_restrictions = true +ignore_areas = true -- future feature +traffic_signal_penalty = 7 -- seconds +u_turn_penalty = 20 + + function node_function (node) local traffic_signal = node.tags:Find("highway")