add more tests for interpolations (mostly updating)

This commit is contained in:
Sarah Hoffmann
2015-02-24 22:10:31 +01:00
parent 30f087b168
commit 9d9745b378
7 changed files with 509 additions and 270 deletions

View File

@@ -14,13 +14,9 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 2 | 1,1
| 4 | 1,1.0005
And node 2 expands to housenumbers
| housenumber | centroid
| 6 | 1,1.001
Scenario: Simple even two point interpolation with zero beginning
Given the place nodes
@@ -34,15 +30,11 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 0 | 1,1
| 2 | 1,1.00025
| 4 | 1,1.0005
| 6 | 1,1.00075
And node 2 expands to housenumbers
| housenumber | centroid
| 8 | 1,1.001
Scenario: Backwards even two point interpolation
Given the place nodes
@@ -56,13 +48,9 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 2,1
When importing
Then node 1 expands to housenumbers
| housenumber | centroid
| 2 | 1,1
And node 2 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 4 | 1,1.0005
| 6 | 1,1.001
Scenario: Even two point interpolation with odd beginning
Given the place nodes
@@ -76,14 +64,10 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 11 | 1,1
| 12 | 1,1.0002
| 14 | 1,1.0006
And node 2 expands to housenumbers
| housenumber | centroid
| 16 | 1,1.001
Scenario: Even two point interpolation with odd end
Given the place nodes
@@ -97,14 +81,10 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 10 | 1,1
| 12 | 1,1.0004
| 14 | 1,1.0008
And node 2 expands to housenumbers
| housenumber | centroid
| 15 | 1,1.001
Scenario: Reverse even two point interpolation with odd beginning
Given the place nodes
@@ -118,14 +98,10 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 2,1
When importing
Then node 1 expands to housenumbers
| housenumber | centroid
| 11 | 1,1
And node 2 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 12 | 1,1.0002
| 14 | 1,1.0006
| 16 | 1,1.001
Scenario: Reverse even two point interpolation with odd end
Given the place nodes
@@ -139,14 +115,10 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 2,1
When importing
Then node 1 expands to housenumbers
| housenumber | centroid
| 10 | 1,1
And node 2 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 12 | 1,1.0004
| 14 | 1,1.0008
| 15 | 1,1.001
Scenario: Simple odd two point interpolation
Given the place nodes
@@ -160,16 +132,12 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 1 | 1,1
| 3 | 1,1.0002
| 5 | 1,1.0004
| 7 | 1,1.0006
| 9 | 1,1.0008
And node 2 expands to housenumbers
| housenumber | centroid
| 11 | 1,1.001
Scenario: Odd two point interpolation with even beginning
Given the place nodes
@@ -183,14 +151,10 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 2 | 1,1
| 3 | 1,1.0002
| 5 | 1,1.0006
And node 2 expands to housenumbers
| housenumber | centroid
| 7 | 1,1.001
Scenario: Simple all two point interpolation
Given the place nodes
@@ -204,13 +168,9 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 1 | 1,1
| 2 | 1,1.0005
And node 2 expands to housenumbers
| housenumber | centroid
| 3 | 1,1.001
Scenario: Simple numbered two point interpolation
Given the place nodes
@@ -224,13 +184,9 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 3 | 1,1
| 6 | 1,1.0005
And node 2 expands to housenumbers
| housenumber | centroid
| 9 | 1,1.001
Scenario: Even two point interpolation with intermediate empty node
Given the place nodes
@@ -244,15 +200,11 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,3,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 2 | 1,1
| 4 | 1,1.0005
| 6 | 1,1.001
| 8 | 1.0005,1.001
And node 2 expands to housenumbers
| housenumber | centroid
| 10 | 1.001,1.001
Scenario: Even two point interpolation with intermediate duplicated empty node
@@ -267,15 +219,11 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,3,3,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 2 | 1,1
| 4 | 1,1.0005
| 6 | 1,1.001
| 8 | 1.0005,1.001
And node 2 expands to housenumbers
| housenumber | centroid
| 10 | 1.001,1.001
Scenario: Simple even three point interpolation
Given the place nodes
@@ -290,16 +238,9 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,3,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 2 | 1,1
Then node 3 expands to housenumbers
| housenumber | centroid
| 4 | 1,1.001
| 6 | 1.0005,1.001
And node 2 expands to housenumbers
| housenumber | centroid
| 8 | 1.001,1.001
Scenario: Even three point interpolation with odd center point
Given the place nodes
@@ -314,17 +255,10 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,3,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 2 | 1,1
| 4 | 1,1.0004
| 6 | 1,1.0008
Then node 3 expands to housenumbers
| housenumber | centroid
| 7 | 1,1.001
And node 2 expands to housenumbers
| housenumber | centroid
| 8 | 1.001,1.001
Scenario: Interpolation on self-intersecting way
Given the place nodes
@@ -339,17 +273,9 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2,3,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 2 | 0,0
| 4 | 0,0.0005
Then node 2 expands to housenumbers
| housenumber | centroid
| 6 | 0,0.001
| 8 | 0,0.0015
Then node 3 expands to housenumbers
| housenumber | centroid
| 10 | 0,0.002
| 8 | 0,0.0015
Scenario: Interpolation on self-intersecting way II
@@ -364,12 +290,73 @@ Feature: Import of address interpolations
| id | nodes
| 1 | 1,2,3,2
When importing
Then node 1 expands to housenumbers
Then way 1 expands to housenumbers
| housenumber | centroid
| 2 | 0,0
| 4 | 0,0.0005
Then node 2 expands to housenumbers
| housenumber | centroid
| 6 | 0,0.001
Scenario: addr:street on interpolation way
Given the scene parallel-road
And the place nodes
| osm_id | class | type | housenumber | geometry
| 1 | place | house | 2 | :n-middle-w
| 2 | place | house | 6 | :n-middle-e
| 3 | place | house | 12 | :n-middle-w
| 4 | place | house | 16 | :n-middle-e
And the place ways
| osm_id | class | type | housenumber | street | geometry
| 10 | place | houses | even | | :w-middle
| 11 | place | houses | even | Cloud Street | :w-middle
And the place ways
| osm_id | class | type | name | geometry
| 2 | highway | tertiary | 'name' : 'Sun Way' | :w-north
| 3 | highway | tertiary | 'name' : 'Cloud Street' | :w-south
And the ways
| id | nodes
| 10 | 1,100,101,102,2
| 11 | 3,200,201,202,4
When importing
Then table placex contains
| object | parent_place_id
| N1 | W2
| N2 | W2
| N3 | W3
| N4 | W3
| W10 | W2
| W11 | W3
And way 10 expands exactly to housenumbers 4
And way 11 expands exactly to housenumbers 14
Scenario: addr:street on housenumber way
Given the scene parallel-road
And the place nodes
| osm_id | class | type | housenumber | street | geometry
| 1 | place | house | 2 | | :n-middle-w
| 2 | place | house | 6 | | :n-middle-e
| 3 | place | house | 12 | Cloud Street | :n-middle-w
| 4 | place | house | 16 | Cloud Street | :n-middle-e
And the place ways
| osm_id | class | type | housenumber | geometry
| 10 | place | houses | even | :w-middle
| 11 | place | houses | even | :w-middle
And the place ways
| osm_id | class | type | name | geometry
| 2 | highway | tertiary | 'name' : 'Sun Way' | :w-north
| 3 | highway | tertiary | 'name' : 'Cloud Street' | :w-south
And the ways
| id | nodes
| 10 | 1,100,101,102,2
| 11 | 3,200,201,202,4
When importing
Then table placex contains
| object | parent_place_id
| N1 | W2
| N2 | W2
| N3 | W3
| N4 | W3
| W10 | W2
| W11 | W3
And way 10 expands exactly to housenumbers 4
And way 11 expands exactly to housenumbers 14

View File

@@ -0,0 +1,167 @@
@DB
Feature: Update of address interpolations
Test the interpolated address are updated correctly
Scenario: addr:street added to interpolation
Given the scene parallel-road
And the place nodes
| osm_id | class | type | housenumber | geometry
| 1 | place | house | 2 | :n-middle-w
| 2 | place | house | 6 | :n-middle-e
And the place ways
| osm_id | class | type | housenumber | geometry
| 10 | place | houses | even | :w-middle
And the place ways
| osm_id | class | type | name | geometry
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
And the ways
| id | nodes
| 10 | 1,100,101,102,2
When importing
Then table placex contains
| object | parent_place_id
| N1 | W2
| N2 | W2
| W10 | W2
And way 10 expands exactly to housenumbers 4
When updating place ways
| osm_id | class | type | housenumber | street | geometry
| 10 | place | houses | even | Cloud Street | :w-middle
Then way 10 expands exactly to housenumbers 4
And table placex contains
| object | parent_place_id
| N1 | W3
| N2 | W3
| W10 | W3
@Fail
Scenario: addr:street added to housenumbers
Given the scene parallel-road
And the place nodes
| osm_id | class | type | housenumber | geometry
| 1 | place | house | 2 | :n-middle-w
| 2 | place | house | 6 | :n-middle-e
And the place ways
| osm_id | class | type | housenumber | geometry
| 10 | place | houses | even | :w-middle
And the place ways
| osm_id | class | type | name | geometry
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
And the ways
| id | nodes
| 10 | 1,100,101,102,2
When importing
Then table placex contains
| object | parent_place_id
| N1 | W2
| N2 | W2
| W10 | W2
And way 10 expands exactly to housenumbers 4
When updating place nodes
| osm_id | class | type | street | housenumber | geometry
| 1 | place | house | Cloud Street| 2 | :n-middle-w
| 2 | place | house | Cloud Street| 6 | :n-middle-e
Then way 10 expands exactly to housenumbers 4
And table placex contains
| object | parent_place_id
| N1 | W3
| N2 | W3
| W10 | W3
Scenario: interpolation tag removed
Given the scene parallel-road
And the place nodes
| osm_id | class | type | housenumber | geometry
| 1 | place | house | 2 | :n-middle-w
| 2 | place | house | 6 | :n-middle-e
And the place ways
| osm_id | class | type | housenumber | geometry
| 10 | place | houses | even | :w-middle
And the place ways
| osm_id | class | type | name | geometry
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
And the ways
| id | nodes
| 10 | 1,100,101,102,2
When importing
Then table placex contains
| object | parent_place_id
| N1 | W2
| N2 | W2
| W10 | W2
And way 10 expands exactly to housenumbers 4
When marking for delete W10
Then way 10 expands to no housenumbers
And table placex contains
| object | parent_place_id
| N1 | W2
| N2 | W2
Scenario: referenced road added
Given the scene parallel-road
And the place nodes
| osm_id | class | type | housenumber | geometry
| 1 | place | house | 2 | :n-middle-w
| 2 | place | house | 6 | :n-middle-e
And the place ways
| osm_id | class | type | housenumber | street | geometry
| 10 | place | houses | even | Cloud Street| :w-middle
And the place ways
| osm_id | class | type | name | geometry
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
And the ways
| id | nodes
| 10 | 1,100,101,102,2
When importing
Then table placex contains
| object | parent_place_id
| N1 | W2
| N2 | W2
| W10 | W2
And way 10 expands exactly to housenumbers 4
When updating place ways
| osm_id | class | type | name | geometry
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
Then way 10 expands exactly to housenumbers 4
And table placex contains
| object | parent_place_id
| N1 | W3
| N2 | W3
| W10 | W3
Scenario: referenced road deleted
Given the scene parallel-road
And the place nodes
| osm_id | class | type | housenumber | geometry
| 1 | place | house | 2 | :n-middle-w
| 2 | place | house | 6 | :n-middle-e
And the place ways
| osm_id | class | type | housenumber | street | geometry
| 10 | place | houses | even | Cloud Street| :w-middle
And the place ways
| osm_id | class | type | name | geometry
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
And the ways
| id | nodes
| 10 | 1,100,101,102,2
When importing
Then table placex contains
| object | parent_place_id
| N1 | W3
| N2 | W3
| W10 | W3
And way 10 expands exactly to housenumbers 4
When marking for delete W3
Then way 10 expands exactly to housenumbers 4
And table placex contains
| object | parent_place_id
| N1 | W2
| N2 | W2
| W10 | W2