test separate weight/speed, still marked as @todo

This commit is contained in:
Emil Tin 2013-01-10 11:58:39 +01:00
parent 2af9fcad68
commit 54774726b2

View File

@ -0,0 +1,96 @@
@routing @testbot @impedance @todo
Feature: Setting impedance and speed separately
These tests assume that the speed is not factored into the impedance by OSRM internally.
Instead the speed can optionally be factored into the weiht in the lua profile.
Note: With the default grid size of 100m, the diagonals has a length if 141.42m
Background:
Given the profile "testbot"
Scenario: Use impedance to pick route, even when longer/slower
Given the node map
| | s | | t | | u | | v | |
| a | | b | | c | | d | | e |
And the ways
| nodes | impedance |
| ab | 1.3 |
| asb | 1 |
| bc | 1.5 |
| btc | 1 |
| cd | 0.015 |
| cud | 0.010 |
| de | 150000 |
| dve | 100000 |
When I route I should get
| from | to | route | distance |
| a | b | ab | 200m +-1 |
| b | a | ab | 200m +-1 |
| b | c | btc | 282m +-1 |
| c | b | btc | 282m +-1 |
| c | d | cud | 282m +-1 |
| d | c | cud | 282m +-1 |
| d | e | dve | 282m +-1 |
| e | d | dve | 282m +-1 |
Scenario: Weight should default to 1
Given the node map
| | s | | t | |
| a | | b | | c |
And the ways
| nodes | impedance |
| ab | 1.40 |
| asb | |
| bc | 1.42 |
| btc | |
When I route I should get
| from | to | route |
| a | b | ab |
| b | a | ab |
| b | c | btc |
| c | b | btc |
Scenario: Use both impedance and speed (multiplied) when picking route
OSRM should not factor speed into impedance internally. However, the profile can choose to do so,
and this test expect the testbot profile to do it.
Given the node map
| | s | | t | |
| a | | b | | c |
And the ways
| nodes | impedance | highway |
| ab | 2.80 | primary |
| asb | 1 | secondary |
| bc | 2.84 | primary |
| btc | 1 | secondary |
When I route I should get
| from | to | route |
| a | b | ab |
| b | a | ab |
| b | c | btc |
| c | b | btc |
Scenario: Weight should influence neither speed nor travel time.
Given the node map
| a | b | c |
| t | | |
And the ways
| nodes |
| ab |
| bc |
| at |
When I route I should get
| from | to | route | distance | time |
| a | b | ab | 100m +-1 | 10s +-1 |
| b | a | ab | 100m +-1 | 10s +-1 |
| b | c | bc | 100m +-1 | 10s +-1 |
| c | b | bc | 100m +-1 | 10s +-1 |
| a | c | ab,bc | 200m +-1 | 20s +-1 |
| c | a | bc,ab | 200m +-1 | 20s +-1 |