472 lines
13 KiB
Gherkin
472 lines
13 KiB
Gherkin
@trip @testbot
|
|
Feature: Basic trip planning
|
|
|
|
Background:
|
|
Given the profile "testbot"
|
|
Given a grid size of 10 meters
|
|
|
|
Scenario: Testbot - Trip: Invalid options (like was in test suite for a long time)
|
|
Given the node map
|
|
"""
|
|
a b
|
|
c d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cb |
|
|
| da |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | code |
|
|
| a | | InvalidOptions |
|
|
|
|
Scenario: Testbot - Trip: Roundtrip between same waypoint
|
|
Given the node map
|
|
"""
|
|
a b
|
|
c d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cb |
|
|
| da |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | code |
|
|
| a,a | aa | Ok |
|
|
|
|
Scenario: Testbot - Trip: data version check
|
|
Given the node map
|
|
"""
|
|
a b
|
|
c d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cb |
|
|
| da |
|
|
|
|
And the extract extra arguments "--data_version cucumber_data_version"
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | data_version | code |
|
|
| a,a | aa | cucumber_data_version | Ok |
|
|
|
|
Scenario: Testbot - Trip: Roundtrip with waypoints (less than 10)
|
|
Given the node map
|
|
"""
|
|
a b
|
|
c d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cb |
|
|
| da |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | durations | code |
|
|
| a,b,c,d | abcda | 7.6 | Ok |
|
|
| d,b,c,a | dbcad | 7.6 | Ok |
|
|
|
|
Scenario: Testbot - Trip: Roundtrip waypoints (more than 10)
|
|
Given the node map
|
|
"""
|
|
a b c d
|
|
l e
|
|
k f
|
|
j i h g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| de |
|
|
| ef |
|
|
| fg |
|
|
| gh |
|
|
| hi |
|
|
| ij |
|
|
| jk |
|
|
| kl |
|
|
| la |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips |
|
|
| a,b,c,d,e,f,g,h,i,j,k,l | alkjihgfedcba |
|
|
|
|
Scenario: Testbot - Trip: FS waypoints (less than 10)
|
|
Given the query options
|
|
| source | first |
|
|
Given the node map
|
|
"""
|
|
a b c d
|
|
l e
|
|
|
|
j i g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| de |
|
|
| eg |
|
|
| gi |
|
|
| ij |
|
|
| jl |
|
|
| la |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | roundtrip | durations |
|
|
| a,b,c,d,e,g,i,j,l | abcdegijla | true | 22 |
|
|
| a,b,c,d,e,g,i,j,l | abcljiged | false | 13 |
|
|
|
|
|
|
Scenario: Testbot - Trip: FS waypoints (more than 10)
|
|
Given the query options
|
|
| source | first |
|
|
Given the node map
|
|
"""
|
|
a b c d
|
|
l e
|
|
k f
|
|
j i h g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| de |
|
|
| ef |
|
|
| fg |
|
|
| gh |
|
|
| hi |
|
|
| ij |
|
|
| jk |
|
|
| kl |
|
|
| la |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | roundtrip | durations |
|
|
| a,b,c,d,e,f,g,h,i,j,k,l | alkjihgfedcba | true | 22 |
|
|
| a,b,c,d,e,f,g,h,i,j,k,l | acblkjihgfed | false | 13 |
|
|
|
|
|
|
Scenario: Testbot - Trip: FE waypoints (less than 10)
|
|
Given the query options
|
|
| destination | last |
|
|
Given the node map
|
|
"""
|
|
a b c d
|
|
l e
|
|
|
|
j i g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| de |
|
|
| eg |
|
|
| gi |
|
|
| ij |
|
|
| jl |
|
|
| la |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | roundtrip | durations |
|
|
| a,b,c,d,e,g,i,j,l | labcdegijl | true | 22 |
|
|
| a,b,c,d,e,g,i,j,l | degijabcl | false | 14 |
|
|
|
|
Scenario: Testbot - Trip: FE waypoints (more than 10)
|
|
Given the query options
|
|
| destination | last |
|
|
Given the node map
|
|
"""
|
|
a b c d
|
|
l e
|
|
k f
|
|
j i h g
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| de |
|
|
| ef |
|
|
| fg |
|
|
| gh |
|
|
| hi |
|
|
| ij |
|
|
| jk |
|
|
| kl |
|
|
| la |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | roundtrip | durations |
|
|
| a,b,c,d,e,f,g,h,i,j,k,l | lkjihgfedcbal | true | 22 |
|
|
| a,b,c,d,e,f,g,h,i,j,k,l | cbakjihgfedl | false | 19 |
|
|
|
|
Scenario: Testbot - Trip: Unroutable roundtrip with waypoints (less than 10)
|
|
Given the node map
|
|
"""
|
|
a b
|
|
|
|
d c
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| dc |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | status | message |
|
|
| a,b,c,d | NoTrips | No trip visiting all destinations possible. |
|
|
|
|
|
|
Scenario: Testbot - Trip: Unroutable roundtrip with waypoints (more than 10)
|
|
Given the node map
|
|
"""
|
|
a b c d
|
|
l e
|
|
k f
|
|
j i h g
|
|
|
|
q m n
|
|
p o
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cb |
|
|
| de |
|
|
| ef |
|
|
| fg |
|
|
| gh |
|
|
| hi |
|
|
| ij |
|
|
| jk |
|
|
| kl |
|
|
| la |
|
|
| mn |
|
|
| no |
|
|
| op |
|
|
| pq |
|
|
| qm |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | status | message |
|
|
| a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p | NoTrips | No trip visiting all destinations possible. |
|
|
|
|
# Test TFSE
|
|
Scenario: Testbot - Trip: TFSE with errors
|
|
Given the node map
|
|
"""
|
|
a b
|
|
|
|
d c
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| dc |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | source | destination | roundtrip | status | message |
|
|
| a,b,c,d | first | last | false | NoTrips | No trip visiting all destinations possible. |
|
|
|
|
Scenario: Testbot - Trip: FSE with waypoints (less than 10)
|
|
Given the node map
|
|
"""
|
|
a b
|
|
|
|
c
|
|
e d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| ac |
|
|
| ad |
|
|
| ae |
|
|
| bc |
|
|
| bd |
|
|
| be |
|
|
| cd |
|
|
| ce |
|
|
| de |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | source | destination |roundtrip | trips | durations | distance |
|
|
| a,b,d,e,c | first | last | false | abedc | 8.200000000000001 | 81.4 |
|
|
|
|
|
|
Scenario: Testbot - Trip: FSE with waypoints (more than 10)
|
|
Given the node map
|
|
"""
|
|
a b c d e f g h i j k
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cd |
|
|
| de |
|
|
| ef |
|
|
| fg |
|
|
| gh |
|
|
| hi |
|
|
| ij |
|
|
| jk |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | source | destination | roundtrip | trips | durations | distance |
|
|
| a,b,c,d,e,h,i,j,k,g,f | first | last | false | abcdeghijkf | 15 | 149.8 |
|
|
|
|
Scenario: Testbot - Trip: FSE roundtrip with waypoints (less than 10)
|
|
Given the node map
|
|
"""
|
|
a b
|
|
|
|
c
|
|
e d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| ac |
|
|
| ad |
|
|
| ae |
|
|
| bc |
|
|
| bd |
|
|
| be |
|
|
| cd |
|
|
| ce |
|
|
| de |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | source | destination | roundtrip | trips |
|
|
| a,b,d,e,c | first | last | true | abedca |
|
|
|
|
|
|
Scenario: Testbot - Trip: midway points in isolated roads should return no trips
|
|
Given the node map
|
|
"""
|
|
a 1 b
|
|
|
|
c 2 d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| cd |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | status | message |
|
|
| 1,2 | NoTrips | No trip visiting all destinations possible. |
|
|
|
|
Scenario: Testbot - Trip: Repeated Coordinate
|
|
Given the node map
|
|
"""
|
|
a b
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips |
|
|
| a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a | |
|
|
|
|
|
|
Scenario: Testbot - Trip: geometry details of geojson
|
|
Given the query options
|
|
| geometries | geojson |
|
|
|
|
Given the node map
|
|
"""
|
|
a b
|
|
c d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cb |
|
|
| da |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | durations | geometry |
|
|
| a,b,c,d | abcda | 7.6 | 1,1,1.00009,1,1,0.99991,1.00009,1,1,1,1.00009,0.99991,1,1 |
|
|
| d,b,c,a | dbcad | 7.6 | 1.00009,0.99991,1,1,1.00009,1,1,0.99991,1.00009,1,1,1,1.00009,0.99991 |
|
|
|
|
Scenario: Testbot - Trip: geometry details of polyline
|
|
Given the query options
|
|
| geometries | polyline |
|
|
|
|
Given the node map
|
|
"""
|
|
a b
|
|
c d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cb |
|
|
| da |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | durations | geometry |
|
|
| a,b,c,d | abcda | 7.6 | 1,1,1,1.00009,0.99991,1,1,1.00009,1,1,0.99991,1.00009,1,1 |
|
|
| d,b,c,a | dbcad | 7.6 | 0.99991,1.00009,1,1,1,1.00009,0.99991,1,1,1.00009,1,1,0.99991,1.00009 |
|
|
|
|
Scenario: Testbot - Trip: geometry details of polyline6
|
|
Given the query options
|
|
| geometries | polyline6 |
|
|
|
|
Given the node map
|
|
"""
|
|
a b
|
|
c d
|
|
"""
|
|
|
|
And the ways
|
|
| nodes |
|
|
| ab |
|
|
| bc |
|
|
| cb |
|
|
| da |
|
|
|
|
When I plan a trip I should get
|
|
| waypoints | trips | durations | geometry |
|
|
| a,b,c,d | abcda | 7.6 | 1,1,1,1.00009,0.99991,1,1,1.00009,1,1,0.99991,1.00009,1,1 |
|
|
| d,b,c,a | dbcad | 7.6 | 0.99991,1.00009,1,1,1,1.00009,0.99991,1,1,1.00009,1,1,0.99991,1.00009 |
|