725 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			725 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
| @matrix @testbot
 | |
| Feature: Basic Distance Matrix
 | |
| # note that results of travel distance are in metres
 | |
| 
 | |
|     Background:
 | |
|         Given the profile "testbot"
 | |
|         And the partition extra arguments "--small-component-size 1 --max-cell-sizes 2,4,8,16"
 | |
|   Scenario: Testbot - Travel distance matrix of small grid
 | |
|         Given the node map
 | |
|             """
 | |
|             a b c
 | |
|             d e f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abc   |
 | |
|             | def   |
 | |
|             | ad    |
 | |
|             | be    |
 | |
|             | cf    |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   |    a    |    b    |     e   |   f    |
 | |
|             | a |    0    |  100.1  |  199.5  |  299.5 |
 | |
|             | b |  100.1  |   0     |  99.4   |  199.5 |
 | |
|             | e |  199.5  |  99.4   |   0     |  100.1 |
 | |
|             | f |  299.5  |  199.5  |  100.1  |   0    |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix of minimal network exact distances
 | |
|         Given the node map
 | |
|             """
 | |
|             a z
 | |
|               b
 | |
|               c
 | |
|               d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | az    |
 | |
|             | zbcd  |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   |   a    |   z     |   b     |   c     |   d     |
 | |
|             | a |   0    |  100.1  |  199.5  |  298.9  |  398.3  |
 | |
|             | z |  100.1 |  0      |  99.4   |  198.8  |  298.2  |
 | |
|             | b |  199.5 |  99.4   |  0      |  99.4   |  198.8  |
 | |
|             | c |  298.9 |  198.8  |  99.4   |  0      |  99.4   |
 | |
|             | d |  398.3 |  298.2  |  198.8  |  99.4   |  0      |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix of minimal network with toll exclude
 | |
|         Given the query options
 | |
|             | exclude  | toll        |
 | |
| 
 | |
|         Given the node map
 | |
|             """
 | |
|             a b
 | |
|             c d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway  | toll | #                                                       |
 | |
|             | ab    | motorway |      | not drivable for exclude=motorway                       |
 | |
|             | cd    | primary  |      | always drivable                                         |
 | |
|             | ac    | primary  | yes  | not drivable for exclude=toll and exclude=motorway,toll |
 | |
|             | bd    | motorway | yes  | not drivable for exclude=toll and exclude=motorway,toll |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     | b     | c     | d     |
 | |
|             | a | 0     | 100.1 |       |       |
 | |
|             | b | 100.1 | 0     |       |       |
 | |
|             | c |       |       | 0     | 100.1 |
 | |
|             | d |       |       | 100.1 | 0     |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix of minimal network with motorway exclude
 | |
|         Given the query options
 | |
|             | exclude  | motorway  |
 | |
| 
 | |
|         Given the node map
 | |
|             """
 | |
|             a b
 | |
|             c d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway     | #                                 |
 | |
|             | ab    | motorway    | not drivable for exclude=motorway |
 | |
|             | cd    | residential |                                   |
 | |
|             | ac    | residential |                                   |
 | |
|             | bd    | residential |                                   |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a |   b    |  c   |   d   |
 | |
|             | a | 0 |  298.9 | 99.4 | 199.5 |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix of minimal network disconnected motorway exclude
 | |
|         Given the query options
 | |
|             | exclude  | motorway  |
 | |
|         And the extract extra arguments "--small-component-size 4"
 | |
| 
 | |
|         Given the node map
 | |
|             """
 | |
|             ab                  efgh
 | |
|             cd
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway     | #                                 |
 | |
|             | be    | motorway    | not drivable for exclude=motorway |
 | |
|             | abcd  | residential |                                   |
 | |
|             | efgh  | residential |                                   |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a | b    | e |
 | |
|             | a | 0 | 50.1 |   |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix of minimal network with motorway and toll excludes
 | |
|         Given the query options
 | |
|             | exclude  | motorway,toll  |
 | |
| 
 | |
|         Given the node map
 | |
|             """
 | |
|             a b          e f
 | |
|             c d          g h
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway     | toll | #                                 |
 | |
|             | be    | motorway    |      | not drivable for exclude=motorway |
 | |
|             | dg    | primary     | yes  | not drivable for exclude=toll     |
 | |
|             | abcd  | residential |      |                                   |
 | |
|             | efgh  | residential |      |                                   |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a | b      | e | g |
 | |
|             | a | 0 | 100.1  |   |   |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix with different way speeds
 | |
|         Given the node map
 | |
|             """
 | |
|             a b c d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | highway   |
 | |
|             | ab    | primary   |
 | |
|             | bc    | secondary |
 | |
|             | cd    | tertiary  |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     | b     | c     | d     |
 | |
|             | a | 0     | 100.1 | 200.1 | 300.2 |
 | |
|             | b | 100.1 | 0     | 100.1 | 200.1 |
 | |
|             | c | 200.1 | 100.1 | 0     | 100.1 |
 | |
|             | d | 300.2 | 200.1 | 100.1 | 0     |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a | b     | c     | d     |
 | |
|             | a | 0 | 100.1 | 200.1 | 300.2 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     |
 | |
|             | a | 0     |
 | |
|             | b | 100.1 |
 | |
|             | c | 200.1 |
 | |
|             | d | 300.2 |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix of small grid
 | |
|         Given the node map
 | |
|             """
 | |
|             a b c
 | |
|             d e f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abc   |
 | |
|             | def   |
 | |
|             | ad    |
 | |
|             | be    |
 | |
|             | cf    |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     | b     | e     | f     |
 | |
|             | a | 0     | 100.1 | 199.5 | 299.5 |
 | |
|             | b | 100.1 | 0     | 99.4  | 199.5 |
 | |
|             | e | 199.5 | 99.4  | 0     | 100.1 |
 | |
|             | f | 299.5 | 199.5 | 100.1 | 0     |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix of network with unroutable parts
 | |
|         Given the node map
 | |
|             """
 | |
|             a b
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | oneway |
 | |
|             | ab    | yes    |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a | b      |
 | |
|             | a | 0 | 100.1  |
 | |
|             | b |   | 0      |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix of network with oneways
 | |
|         Given the node map
 | |
|             """
 | |
|             x a b y
 | |
|               d e
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | oneway |
 | |
|             | abeda | yes    |
 | |
|             | xa    |        |
 | |
|             | by    |        |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | x     | y     | d     | e     |
 | |
|             | x | 0     | 300.2 | 399.6 | 299.5 |
 | |
|             | y | 499   | 0     | 299.5 | 199.5 |
 | |
|             | d | 199.5 | 299.5 | 0     | 298.9 |
 | |
|             | e | 299.5 | 399.6 | 100.1 | 0     |
 | |
| 
 | |
|     Scenario: Testbot - Rectangular travel distance matrix
 | |
|         Given the node map
 | |
|             """
 | |
|             a b c
 | |
|             d e f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abc   |
 | |
|             | def   |
 | |
|             | ad    |
 | |
|             | be    |
 | |
|             | cf    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | from | to | distance  |
 | |
|             | e    | a  | 200m      |
 | |
|             | e    | b  | 100m      |
 | |
|             | f    | a  | 299.9m    |
 | |
|             | f    | b  | 200m      |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a | b      | e      | f      |
 | |
|             | a | 0 |  100.1 |  199.5 |  299.5 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     |
 | |
|             | a | 0     |
 | |
|             | b | 100.1 |
 | |
|             | e | 199.5 |
 | |
|             | f | 299.5 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     | b     | e     | f     |
 | |
|             | a | 0     | 100.1 | 199.5 | 299.5 |
 | |
|             | b | 100.1 | 0     | 99.4  | 199.5 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     | b     |
 | |
|             | a | 0     | 100.1 |
 | |
|             | b | 100.1 | 0     |
 | |
|             | e | 199.5 | 99.4  |
 | |
|             | f | 299.5 | 199.5 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     | b     | e     | f     |
 | |
|             | a | 0     | 100.1 | 199.5 | 299.5 |
 | |
|             | b | 100.1 | 0     | 99.4  | 199.5 |
 | |
|             | e | 199.5 | 99.4  | 0     | 100.1 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|              |   | a     | b     | e     |
 | |
|              | a | 0     | 100.1 | 199.5 |
 | |
|              | b | 100.1 | 0     | 99.4  |
 | |
|              | e | 199.5 | 99.4  | 0     |
 | |
|              | f | 299.5 | 199.5 | 100.1 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|              |   | a     | b     | e     | f     |
 | |
|              | a | 0     | 100.1 | 199.5 | 299.5 |
 | |
|              | b | 100.1 | 0     | 99.4  | 199.5 |
 | |
|              | e | 199.5 | 99.4  | 0     | 100.1 |
 | |
|              | f | 299.5 | 199.5 | 100.1 | 0     |
 | |
| 
 | |
|      Scenario: Testbot - Travel distance 3x2 matrix
 | |
|         Given the node map
 | |
|             """
 | |
|             a b c
 | |
|             d e f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abc   |
 | |
|             | def   |
 | |
|             | ad    |
 | |
|             | be    |
 | |
|             | cf    |
 | |
| 
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | b     | e     | f     |
 | |
|             | a | 100.1 | 199.5 | 299.5 |
 | |
|             | b | 0     | 99.4  | 199.5 |
 | |
| 
 | |
|     Scenario: Testbot - All coordinates are from same small component
 | |
|         Given a grid size of 300 meters
 | |
|         Given the extract extra arguments "--small-component-size 4"
 | |
|         Given the node map
 | |
|             """
 | |
|             a b   f
 | |
|             d e   g
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | ab    |
 | |
|             | be    |
 | |
|             | ed    |
 | |
|             | da    |
 | |
|             | fg    |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | f     | g     |
 | |
|             | f | 0     | 298.2 |
 | |
|             | g | 298.2 | 0     |
 | |
| 
 | |
|     Scenario: Testbot - Coordinates are from different small component and snap to big CC
 | |
|         Given a grid size of 300 meters
 | |
|         Given the extract extra arguments "--small-component-size 4"
 | |
|         Given the node map
 | |
|             """
 | |
|             a b   f h
 | |
|             d e   g i
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | ab    |
 | |
|             | be    |
 | |
|             | ed    |
 | |
|             | da    |
 | |
|             | fg    |
 | |
|             | hi    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | from | to | distance |
 | |
|             | f    | g  | 300m     |
 | |
|             | f    | i  | 300m     |
 | |
|             | g    | f  | 300m     |
 | |
|             | g    | h  | 300m     |
 | |
|             | h    | g  | 300m     |
 | |
|             | h    | i  | 300m     |
 | |
|             | i    | f  | 300m     |
 | |
|             | i    | h  | 300m     |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | f     | g     | h     | i     |
 | |
|             | f | 0     | 298.2 | 0     | 298.2 |
 | |
|             | g | 298.2 | 0     | 298.2 | 0     |
 | |
|             | h | 0     | 298.2 | 0     | 298.2 |
 | |
|             | i | 298.2 | 0     | 298.2 | 0     |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix with loops
 | |
|         Given the node map
 | |
|             """
 | |
|             a 1 2 b
 | |
|             d 4 3 c
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | oneway |
 | |
|             | ab    | yes |
 | |
|             | bc    | yes |
 | |
|             | cd    | yes |
 | |
|             | da    | yes |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | 1     | 2     | 3     | 4     |
 | |
|             | 1 | 0     | 100.1 | 399.6 | 499.7 |
 | |
|             | 2 | 699.1 | 0     | 299.5 | 399.6 |
 | |
|             | 3 | 399.6 | 499.7 | 0     | 100.1 |
 | |
|             | 4 | 299.5 | 399.6 | 699.1 | 0     |
 | |
| 
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix based on segment durations
 | |
|         Given the profile file
 | |
|         """
 | |
|         local functions = require('testbot')
 | |
|         functions.setup_testbot = functions.setup
 | |
| 
 | |
|         functions.setup = function()
 | |
|           local profile = functions.setup_testbot()
 | |
|           profile.traffic_signal_penalty = 0
 | |
|           profile.u_turn_penalty = 0
 | |
|           return profile
 | |
|         end
 | |
| 
 | |
|         functions.process_segment = function(profile, segment)
 | |
|           segment.weight = 2
 | |
|           segment.duration = 11
 | |
|         end
 | |
| 
 | |
|         return functions
 | |
|         """
 | |
| 
 | |
|         And the node map
 | |
|           """
 | |
|           a-b-c-d
 | |
|               .
 | |
|               e
 | |
|           """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abcd  |
 | |
|             | ce    |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     | b     | c     | d     | e     |
 | |
|             | a | 0     | 100.1 | 200.1 | 300.2 | 398.9 |
 | |
|             | b | 100.1 | 0     | 100.1 | 200.1 | 298.9 |
 | |
|             | c | 200.1 | 100.1 | 0     | 100.1 | 198.8 |
 | |
|             | d | 300.2 | 200.1 | 100.1 | 0     | 298.9 |
 | |
|             | e | 398.9 | 298.9 | 198.8 | 298.9 | 0     |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix for alternative loop paths
 | |
|         Given the profile file
 | |
|         """
 | |
|         local functions = require('testbot')
 | |
|         functions.setup_testbot = functions.setup
 | |
| 
 | |
|         functions.setup = function()
 | |
|           local profile = functions.setup_testbot()
 | |
|           profile.traffic_signal_penalty = 0
 | |
|           profile.u_turn_penalty = 0
 | |
|           profile.weight_precision = 3
 | |
|           return profile
 | |
|         end
 | |
| 
 | |
|         functions.process_segment = function(profile, segment)
 | |
|           segment.weight = 777
 | |
|           segment.duration = 3
 | |
|         end
 | |
| 
 | |
|         return functions
 | |
|         """
 | |
|         And the node map
 | |
|             """
 | |
|             a 2 1 b
 | |
|             7     4
 | |
|             8     3
 | |
|             c 5 6 d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes | oneway |
 | |
|             | ab    | yes    |
 | |
|             | bd    | yes    |
 | |
|             | dc    | yes    |
 | |
|             | ca    | yes    |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|              |   | 1     | 2      | 3     | 4      | 5     | 6      | 7     | 8      |
 | |
|              | 1 | 0     | 1096.7 | 298.9 | 199.5  | 598.4 | 498.3  | 897.3 | 797.9  |
 | |
|              | 2 | 100.1 | 0      | 398.9 | 299.5  | 698.5 | 598.4  | 997.3 | 897.9  |
 | |
|              | 3 | 897.9 | 797.9  | 0     | 1097.4 | 299.5 | 199.5  | 598.4 | 499    |
 | |
|              | 4 | 997.3 | 897.3  | 99.4  | 0      | 398.9 | 298.9  | 697.8 | 598.4  |
 | |
|              | 5 | 598.4 | 498.3  | 897.3 | 797.9  | 0     | 1096.7 | 298.9 | 199.5  |
 | |
|              | 6 | 698.5 | 598.4  | 997.3 | 897.9  | 100.1 | 0      | 398.9 | 299.5  |
 | |
|              | 7 | 299.5 | 199.5  | 598.4 | 499    | 897.9 | 797.9  | 0     | 1097.4 |
 | |
|              | 8 | 398.9 | 298.9  | 697.8 | 598.4  | 997.3 | 897.3  | 99.4  | 0      |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|              |   | 1     |
 | |
|              | 1 | 0     |
 | |
|              | 2 | 100.1 |
 | |
|              | 3 | 897.9 |
 | |
|              | 4 | 997.3 |
 | |
|              | 5 | 598.4 |
 | |
|              | 6 | 698.5 |
 | |
|              | 7 | 299.5 |
 | |
|              | 8 | 398.9 |
 | |
| 
 | |
|     Scenario: Testbot - Travel distance matrix with ties
 | |
|         Given the node map
 | |
|             """
 | |
|             a        b
 | |
| 
 | |
|             c     d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | ab    |
 | |
|             | ac    |
 | |
|             | bd    |
 | |
|             | dc    |
 | |
| 
 | |
|         When I route I should get
 | |
|             | from | to | route | distance | time | weight |
 | |
|             | a    | c  | ac,ac | 200m     | 20s  |     20 |
 | |
| 
 | |
|         When I route I should get
 | |
|             | from | to | route    | distance |
 | |
|             | a    | b  | ab,ab    | 450m     |
 | |
|             | a    | c  | ac,ac    | 200m     |
 | |
|             | a    | d  | ac,dc,dc | 499.9m   |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a | b     | c     | d   |
 | |
|             | a | 0 | 450.3 | 198.8 | 499 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     |
 | |
|             | a | 0     |
 | |
|             | b | 450.3 |
 | |
|             | c | 198.8 |
 | |
|             | d | 499   |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a     | c     |
 | |
|             | a | 0     | 198.8 |
 | |
|             | c | 198.8 | 0     |
 | |
| 
 | |
| 
 | |
|     # Check rounding errors
 | |
|     Scenario: Testbot - Long distances in tables
 | |
|         Given a grid size of 1000 meters
 | |
|         Given the node map
 | |
|             """
 | |
|             a b c d
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes    |
 | |
|             | abcd     |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a | b      | c      | d      |
 | |
|             | a | 0 | 1000.7 | 2001.4 | 3002.1 |
 | |
| 
 | |
| 
 | |
|     Scenario: Testbot - OneToMany vs ManyToOne
 | |
|         Given the node map
 | |
|             """
 | |
|             a b
 | |
|             c
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes  | oneway |
 | |
|             | ab     | yes    |
 | |
|             | ac     |        |
 | |
|             | bc     |        |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   |   a   | b      |
 | |
|             | b | 240.4 | 0      |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   |   a   |
 | |
|             | a |   0   |
 | |
|             | b | 240.4 |
 | |
| 
 | |
|     Scenario: Testbot - Varying distances between nodes
 | |
|         Given the node map
 | |
|             """
 | |
|             a b   c      d
 | |
| 
 | |
|             e
 | |
| 
 | |
| 
 | |
| 
 | |
|             f
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes  | oneway |
 | |
|             | feabcd | yes    |
 | |
|             | ec     |        |
 | |
|             | fd     |        |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      | b     | c      | d      | e      | f      |
 | |
|             | a | 0      | 100.1 | 300.2  | 650.5  | 1930.6 | 1533   |
 | |
|             | b | 759    | 0     | 200.1  | 550.4  | 1830.5 | 1432.9 |
 | |
|             | c | 558.8  | 658.9 | 0      | 350.3  | 1630.4 | 1232.8 |
 | |
|             | d | 1478.9 | 1579  | 1779.1 | 0      | 1280.1 | 882.5  |
 | |
|             | e | 198.8  | 298.9 | 499    | 710.3  | 0      | 1592.8 |
 | |
|             | f | 596.4  | 696.5 | 896.6  | 1107.9 | 397.6  | 0      |
 | |
| 
 | |
|     Scenario: Testbot - Filling in noroutes with estimates (defaults to input coordinate location)
 | |
|         Given a grid size of 300 meters
 | |
|         Given the extract extra arguments "--small-component-size 4"
 | |
|         Given the query options
 | |
|             | fallback_speed | 5 |
 | |
|         Given the node map
 | |
|             """
 | |
|             a b   f h 1
 | |
|             d e   g i
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abeda |
 | |
|             | fhigf |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      | b      | f     | 1      |
 | |
|             | a | 0      | 300.2  | 900.7 | 1501.1 |
 | |
|             | b | 300.2  | 0      | 600.5 | 1200.9 |
 | |
|             | f | 900.7  | 600.5  | 0     | 300.2  |
 | |
|             | 1 | 1501.1 | 1200.9 | 300.2 | 0      |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      | b      | f     | 1      |
 | |
|             | a | 0      | 300.2  | 900.7 | 1501.1 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      |
 | |
|             | a | 0      |
 | |
|             | b | 300.2  |
 | |
|             | f | 900.7  |
 | |
|             | 1 | 1501.1 |
 | |
| 
 | |
|     Scenario: Testbot - Fise input coordinate
 | |
|         Given a grid size of 300 meters
 | |
|         Given the extract extra arguments "--small-component-size 4"
 | |
|         Given the query options
 | |
|             | fallback_speed | 5 |
 | |
|             | fallback_coordinate | input |
 | |
|         Given the node map
 | |
|             """
 | |
|             a b   f h 1
 | |
|             d e   g i
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abeda |
 | |
|             | fhigf |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      | b      | f     | 1      |
 | |
|             | a | 0      | 300.2  | 900.7 | 1501.1 |
 | |
|             | b | 300.2  | 0      | 600.5 | 1200.9 |
 | |
|             | f | 900.7  | 600.5  | 0     | 300.2  |
 | |
|             | 1 | 1501.1 | 1200.9 | 300.2 | 0      |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      | b     | f     | 1      |
 | |
|             | a | 0      | 300.2 | 900.7 | 1501.1 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      |
 | |
|             | a | 0      |
 | |
|             | b | 300.2  |
 | |
|             | f | 900.7  |
 | |
|             | 1 | 1501.1 |
 | |
| 
 | |
| 
 | |
|     Scenario: Testbot - Filling in noroutes with estimates - use snapped coordinate
 | |
|         Given a grid size of 300 meters
 | |
|         Given the extract extra arguments "--small-component-size 4"
 | |
|         Given the query options
 | |
|             | fallback_speed | 5 |
 | |
|             | fallback_coordinate | snapped |
 | |
|         Given the node map
 | |
|             """
 | |
|             a b   f h 1
 | |
|             d e   g i
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abeda |
 | |
|             | fhigf |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      | b     | f     | 1      |
 | |
|             | a | 0      | 300.2 | 900.7 | 1200.9 |
 | |
|             | b | 300.2  | 0     | 600.5 | 900.7  |
 | |
|             | f | 900.7  | 600.5 | 0     | 300.2  |
 | |
|             | 1 | 1200.9 | 900.7 | 300.2 | 0      |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      | b     | f     | 1      |
 | |
|             | a | 0      | 300.2 | 900.7 | 1200.9 |
 | |
| 
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   | a      |
 | |
|             | a | 0      |
 | |
|             | b | 300.2  |
 | |
|             | f | 900.7  |
 | |
|             | 1 | 1200.9 |
 | |
| 
 | |
|     Scenario: Ensure consistency with route, and make sure offsets work in both directions
 | |
|         Given a grid size of 100 meters
 | |
|         Given the node map
 | |
|             """
 | |
|             a   b   c   d   e   f   g   h  i  j
 | |
|                   1                   2
 | |
|             """
 | |
| 
 | |
|         And the ways
 | |
|             | nodes |
 | |
|             | abcdef  |
 | |
|             | fghij  |
 | |
| 
 | |
|         When I route I should get
 | |
|             | from | to | route              | distance |
 | |
|             | 1    | 2  | abcdef,fghij,fghij | 999.9m  |
 | |
| 
 | |
|         # TODO: this is "correct", but inconsistent with viaroute
 | |
|         When I request a travel distance matrix I should get
 | |
|             |   |   1    | 2      |
 | |
|             | 1 |   0    | 1000.7 |
 | |
|             | 2 | 1000.7 | 0      | |