@routing @time @testbot Feature: Estimation of travel time # Testbot speeds: # Primary road: 36km/h = 36000m/3600s = 100m/10s # Secondary road: 18km/h = 18000m/3600s = 100m/20s # Tertiary road: 12km/h = 12000m/3600s = 100m/30s Background: Use specific speeds Given the profile "testbot" Scenario: Basic travel time, 10m scale Given a grid size of 10 meters Given the node map """ h a b g x c f e d """ And the ways | nodes | highway | | xa | primary | | xb | primary | | xc | primary | | xd | primary | | xe | primary | | xf | primary | | xg | primary | | xh | primary | When I route I should get | from | to | route | time | | x | a | xa,xa | 1s +-1 | | x | b | xb,xb | 1s +-1 | | x | c | xc,xc | 1s +-1 | | x | d | xd,xd | 1s +-1 | | x | e | xe,xe | 1s +-1 | | x | f | xf,xf | 1s +-1 | | x | g | xg,xg | 1s +-1 | | x | h | xh,xh | 1s +-1 | Scenario: Basic travel time, 100m scale Given a grid size of 100 meters Given the node map """ h a b g x c f e d """ And the ways | nodes | highway | | xa | primary | | xb | primary | | xc | primary | | xd | primary | | xe | primary | | xf | primary | | xg | primary | | xh | primary | When I route I should get | from | to | route | time | | x | a | xa,xa | 10s +-1 | | x | b | xb,xb | 14s +-1 | | x | c | xc,xc | 10s +-1 | | x | d | xd,xd | 14s +-1 | | x | e | xe,xe | 10s +-1 | | x | f | xf,xf | 14s +-1 | | x | g | xg,xg | 10s +-1 | | x | h | xh,xh | 14s +-1 | Scenario: Basic travel time, 1km scale Given a grid size of 1000 meters Given the node map """ h a b g x c f e d """ And the ways | nodes | highway | | xa | primary | | xb | primary | | xc | primary | | xd | primary | | xe | primary | | xf | primary | | xg | primary | | xh | primary | When I route I should get | from | to | route | time | | x | a | xa,xa | 100s +-1 | | x | b | xb,xb | 141s +-1 | | x | c | xc,xc | 100s +-1 | | x | d | xd,xd | 141s +-1 | | x | e | xe,xe | 100s +-1 | | x | f | xf,xf | 141s +-1 | | x | g | xg,xg | 100s +-1 | | x | h | xh,xh | 141s +-1 | Scenario: Basic travel time, 10km scale Given a grid size of 10000 meters Given the node map """ h a b g x c f e d """ And the ways | nodes | highway | | xa | primary | | xb | primary | | xc | primary | | xd | primary | | xe | primary | | xf | primary | | xg | primary | | xh | primary | When I route I should get | from | to | route | time | | x | a | xa,xa | 1000s +-1 | | x | b | xb,xb | 1414s +-1 | | x | c | xc,xc | 1000s +-1 | | x | d | xd,xd | 1414s +-1 | | x | e | xe,xe | 1000s +-1 | | x | f | xf,xf | 1414s +-1 | | x | g | xg,xg | 1000s +-1 | | x | h | xh,xh | 1414s +-1 | Scenario: Time of travel depending on way type Given the node map """ a b c d e f """ And the ways | nodes | highway | | ab | primary | | cd | secondary | | ef | tertiary | | ace | something | When I route I should get | from | to | route | time | | a | b | ab,ab | 10s +-1 | | c | d | cd,cd | 20s +-1 | | e | f | ef,ef | 30s +-1 | Scenario: Time of travel on a series of ways Given the node map """ a b e f c d """ And the ways | nodes | highway | | ab | primary | | bc | primary | | cd | primary | | be | primary | | cf | primary | When I route I should get | from | to | route | time | | a | b | ab,ab | 10s +-1 | | a | c | ab,bc,bc | 20s +-1 | | a | d | ab,bc,cd,cd | 30s +-1 | Scenario: Time of travel on a winding way Given the node map """ a i h b c g d e f """ And the ways | nodes | highway | | abcdefghi | primary | When I route I should get | from | to | route | time | | a | b | abcdefghi,abcdefghi | 10s +-1 | | a | e | abcdefghi,abcdefghi | 40s +-1 | | a | i | abcdefghi,abcdefghi | 80s +-1 | Scenario: Time of travel on combination of road types Given the node map """ a b c d e """ And the ways | nodes | highway | | abc | primary | | cde | tertiary | When I route I should get | from | to | route | time | | b | c | abc,abc | 10s +-1 | | c | e | cde,cde | 60s +-1 | | b | d | abc,cde | 40s +-1 | | a | e | abc,cde,cde | 80s +-1 | Scenario: Time of travel on part of a way Given the node map """ a 1 2 3 b 4 """ And the ways | nodes | highway | | ab | primary | When I route I should get | from | to | route | time | | 1 | 2 | ab,ab | 10s +-1 | | 1 | 3 | ab,ab | 20s +-1 | | 1 | 4 | ab,ab | 30s +-1 | | 4 | 3 | ab,ab | 10s +-1 | | 4 | 2 | ab,ab | 20s +-1 | | 4 | 1 | ab,ab | 30s +-1 | Scenario: Total travel time should match sum of times of individual ways Given a grid size of 1000 meters And the node map """ a b c d """ And the ways | nodes | highway | | ab | primary | | bc | primary | | cd | primary | When I route I should get | from | to | route | distances | distance | times | time | | a | b | ab,ab | 1000m +-1 | 1000m +-1 | 100s +-1 | 100s +-1 | | b | c | bc,bc | 2000m +-1 | 2000m +-1 | 200s +-1 | 200s +-1 | | c | d | cd,cd | 3000m +-1 | 3000m +-1 | 300s +-1 | 300s +-1 | | a | c | ab,bc,bc | 1000m,2000m +-1 | 3000m +-1 | 100s,200s +-1 | 300s +-1 | | b | d | bc,cd,cd | 2000m,3000m +-1 | 5000m +-1 | 200s,300s +-1 | 500s +-1 | | a | d | ab,bc,cd,cd | 1000m,2000m,3000m +-1 | 6000m +-1 | 100s,200s,300s +-1 | 600s +-1 |