@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 |
