bdd: move import tests from scenes to grid descriptions

This commit is contained in:
Sarah Hoffmann
2022-06-15 22:22:13 +02:00
parent 3493d317e4
commit 02068aec7f
10 changed files with 829 additions and 568 deletions

View File

@@ -3,11 +3,14 @@ Feature: Linking of places
Tests for correctly determining linked places
Scenario: Only address-describing places can be linked
Given the scene way-area-with-center
Given the grid
| 1 | | | | 2 |
| | | 9 | | |
| 4 | | | | 3 |
And the places
| osm | class | type | name | geometry |
| R13 | landuse | forest | Garbo | :area |
| N256 | natural | peak | Garbo | :inner-C |
| R13 | landuse | forest | Garbo | (1,2,3,4,1) |
| N256 | natural | peak | Garbo | 9 |
When importing
Then placex contains
| object | linked_place_id |
@@ -15,14 +18,14 @@ Feature: Linking of places
| N256 | - |
Scenario: Postcode areas cannot be linked
Given the grid
Given the grid with origin US
| 1 | | 2 |
| | 9 | |
| 4 | | 3 |
And the named places
| osm | class | type | addr+postcode | extra+wikidata | geometry |
| R13 | boundary | postal_code | 123 | Q87493 | (1,2,3,4,1) |
| N25 | place | suburb | 123 | Q87493 | 9 |
| R13 | boundary | postal_code | 12345 | Q87493 | (1,2,3,4,1) |
| N25 | place | suburb | 12345 | Q87493 | 9 |
When importing
Then placex contains
| object | linked_place_id |
@@ -30,13 +33,16 @@ Feature: Linking of places
| N25 | - |
Scenario: Waterways are linked when in waterway relations
Given the scene split-road
Given the grid
| 1 | | | | 3 | 4 | | | | 6 |
| | | 2 | | | 10 | | 5 | | |
| | | | | | 11 | | | | |
And the places
| osm | class | type | name | geometry |
| W1 | waterway | river | Rhein | :w-2 |
| W2 | waterway | river | Rhein | :w-3 |
| R13 | waterway | river | Rhein | :w-1 + :w-2 + :w-3 |
| R23 | waterway | river | Limmat| :w-4a |
| W1 | waterway | river | Rhein | 1,2,3 |
| W2 | waterway | river | Rhein | 3,4,5 |
| R13 | waterway | river | Rhein | 1,2,3,4,5,6 |
| R23 | waterway | river | Limmat| 4,10,11 |
And the relations
| id | members | tags+type |
| 13 | R23:tributary,W1,W2:main_stream | waterway |
@@ -53,13 +59,16 @@ Feature: Linking of places
| R |
Scenario: Relations are not linked when in waterway relations
Given the scene split-road
Given the grid
| 1 | | | | 3 | 4 | | | | 6 |
| | | 2 | | | 10 | | 5 | | |
| | | | | | 11 | | | | |
And the places
| osm | class | type | name | geometry |
| W1 | waterway | stream | Rhein | :w-2 |
| W2 | waterway | river | Rhein | :w-3 |
| R1 | waterway | river | Rhein | :w-1 + :w-2 + :w-3 |
| R2 | waterway | river | Limmat| :w-4a |
| W1 | waterway | stream | Rhein | 1,2,3,4 |
| W2 | waterway | river | Rhein | 4,5,6 |
| R1 | waterway | river | Rhein | 1,2,3,4 |
| R2 | waterway | river | Limmat| 4,10,11 |
And the relations
| id | members | tags+type |
| 1 | R2 | waterway |
@@ -70,12 +79,19 @@ Feature: Linking of places
| W2 | - |
| R1 | - |
| R2 | - |
When sending search query "rhein"
Then results contain
| ID | osm_type |
| 0 | R |
| 1 | W |
Scenario: Empty waterway relations are handled correctly
Given the scene split-road
Given the grid
| 1 | | | | 3 |
And the places
| osm | class | type | name | geometry |
| R1 | waterway | river | Rhein | :w-1 + :w-2 + :w-3 |
| R1 | waterway | river | Rhein | 1,3 |
And the relations
| id | members | tags+type |
| 1 | | waterway |
@@ -85,35 +101,36 @@ Feature: Linking of places
| R1 | - |
Scenario: Waterways are not linked when the way type is not a river feature
Given the scene split-road
Given the grid
| 1 | | 2 |
| | | |
| 3 | | 4 |
And the places
| osm | class | type | name | geometry |
| W1 | waterway | lock | Rhein | :w-2 |
| R1 | waterway | river | Rhein | :w-1 + :w-2 + :w-3 |
| W1 | waterway | lock | Rhein | 3,4 |
| R1 | landuse | meadow | Rhein | (3,1,2,4,3) |
And the relations
| id | members | tags+type |
| 1 | N23,N34,W1,R45 | multipolygon |
| id | members | tags+type |
| 1 | W1,W2 | multipolygon |
When importing
Then placex contains
| object | linked_place_id |
| W1 | - |
| R1 | - |
When sending search query "rhein"
Then results contain
| ID | osm_type |
| 0 | R |
| 1 | W |
Scenario: Side streams are linked only when they have the same name
Given the scene split-road
Given the grid
| | | | | 8 | | | |
| 1 | | 2 | 3 | | 4 | 5 | 6|
| | | | | | 9 | | |
And the places
| osm | class | type | name | geometry |
| W1 | waterway | river | Rhein2 | :w-2 |
| W2 | waterway | river | Rhein | :w-3 |
| R1 | waterway | river | Rhein | :w-1 + :w-2 + :w-3 |
| W1 | waterway | river | Rhein2 | 2,8,4 |
| W2 | waterway | river | Rhein | 3,9,5 |
| R1 | waterway | river | Rhein | 1,2,3,4,5,6 |
And the relations
| id | members | tags+type |
| 1 | W1:side_stream,W2:side_stream | waterway |
| 1 | W1:side_stream,W2:side_stream,W3 | waterway |
When importing
Then placex contains
| object | linked_place_id |
@@ -126,27 +143,35 @@ Feature: Linking of places
# github #573
Scenario: Boundaries should only be linked to places
Given the 0.05 grid
| 1 | | 2 |
| | 9 | |
| 4 | | 3 |
Given the named places
| osm | class | type | extra+wikidata | admin | geometry |
| R1 | boundary | administrative | 34 | 8 | poly-area:0.1 |
| osm | class | type | extra+wikidata | admin | geometry |
| R1 | boundary | administrative | 34 | 8 | (1,2,3,4,1) |
And the named places
| osm | class | type | geometry |
| N3 | natural | island | 0.00001 0 |
| N3 | place | city | 0.00001 0 |
| osm | class | type |
| N9 | natural | island |
| N9 | place | city |
And the relations
| id | members |
| 1 | N3:label |
| 1 | N9:label |
When importing
Then placex contains
| object | linked_place_id |
| N3:natural | - |
| N3:place | R1 |
| N9:natural | - |
| N9:place | R1 |
Scenario: Nodes with 'role' label are always linked
Given the 0.05 grid
| 1 | | 2 |
| | 9 | |
| 4 | | 3 |
Given the places
| osm | class | type | admin | name | geometry |
| R13 | boundary | administrative | 6 | Garbo | poly-area:0.1 |
| N2 | place | hamlet | 15 | Vario | 0.006 0.00001 |
| osm | class | type | admin | name | geometry |
| R13 | boundary | administrative | 6 | Garbo | (1,2,3,4,1) |
| N2 | place | hamlet | 15 | Vario | 9 |
And the relations
| id | members | tags+type |
| 13 | N2:label | boundary |
@@ -155,16 +180,20 @@ Feature: Linking of places
| object | linked_place_id |
| N2 | R13 |
And placex contains
| object | centroid | name+name | extratags+linked_place |
| R13 | 0.006 0.00001 | Garbo | hamlet |
| object | centroid | name+name | extratags+linked_place |
| R13 | 9 | Garbo | hamlet |
Scenario: Boundaries with place tags are linked against places with same type
Given the 0.01 grid
| 1 | | 2 |
| | 9 | |
| 4 | | 3 |
Given the places
| osm | class | type | admin | name | extra+place | geometry |
| R13 | boundary | administrative | 4 | Berlin | city |poly-area:0.1 |
| osm | class | type | admin | name | extra+place | geometry |
| R13 | boundary | administrative | 4 | Berlin | city | (1,2,3,4,1) |
And the places
| osm | class | type | name | geometry |
| N2 | place | city | Berlin | 0.006 0.00001 |
| N2 | place | city | Berlin | 9 |
When importing
Then placex contains
| object | linked_place_id |
@@ -187,12 +216,16 @@ Feature: Linking of places
Scenario: Boundaries without place tags only link against same admin level
Given the 0.05 grid
| 1 | | 2 |
| | 9 | |
| 4 | | 3 |
Given the places
| osm | class | type | admin | name | geometry |
| R13 | boundary | administrative | 4 | Berlin |poly-area:0.1 |
| R13 | boundary | administrative | 4 | Berlin | (1,2,3,4,1) |
And the places
| osm | class | type | name | geometry |
| N2 | place | city | Berlin | 0.006 0.00001 |
| N2 | place | city | Berlin | 9 |
When importing
Then placex contains
| object | linked_place_id |
@@ -215,12 +248,16 @@ Feature: Linking of places
# github #1352
Scenario: Do not use linked centroid when it is outside the area
Given the 0.05 grid
| 1 | | 2 | |
| | | | 9 |
| 4 | | 3 | |
Given the named places
| osm | class | type | admin | geometry |
| R13 | boundary | administrative | 4 | poly-area:0.01 |
| R13 | boundary | administrative | 4 | (1,2,3,4,1) |
And the named places
| osm | class | type | geometry |
| N2 | place | city | 0.1 0.1 |
| N2 | place | city | 9 |
And the relations
| id | members | tags+type |
| 13 | N2:label | boundary |
@@ -233,13 +270,17 @@ Feature: Linking of places
| R13 | in geometry |
Scenario: Place nodes can only be linked once
Given the 0.02 grid
| 1 | | 2 | | 5 |
| | 9 | | | |
| 4 | | 3 | | 6 |
Given the named places
| osm | class | type | extra+wikidata | geometry |
| N2 | place | city | Q1234 | 0 0 |
| N2 | place | city | Q1234 | 9 |
And the named places
| osm | class | type | extra+wikidata | admin | geometry |
| R1 | boundary | administrative | Q1234 | 8 | poly-area:0.1 |
| R2 | boundary | administrative | Q1234 | 9 | poly-area:0.01 |
| osm | class | type | extra+wikidata | admin | geometry |
| R1 | boundary | administrative | Q1234 | 8 | (1,2,5,6,3,4,1) |
| R2 | boundary | administrative | Q1234 | 9 | (1,2,3,4,1) |
When importing
Then placex contains
| object | linked_place_id |