]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/update/parenting.feature
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / bdd / db / update / parenting.feature
index fdf785c23be86d775b920882c6cb133555397402..c962fc7e3fcb085b25b34b10683c1f5849c361bd 100644 (file)
@@ -35,6 +35,57 @@ Feature: Update parenting of objects
          | N2     | W3              | 3 |
          | N3     | W3              | 3 |
 
+
+    Scenario: Housenumber is reparented when street gets name matching addr:street
+        Given the grid
+         | 1 |    |   | 2 |
+         |   | 10 |   |   |
+         |   |    |   |   |
+         | 3 |    |   | 4 |
+        And the places
+         | osm | class   | type        | name     | geometry |
+         | W1  | highway | residential | A street | 1,2      |
+         | W2  | highway | residential | B street | 3,4      |
+        And the places
+         | osm | class    | type | housenr | street   | geometry |
+         | N1  | building | yes  | 3       | X street | 10       |
+        When importing
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | W1              |
+        When updating places
+         | osm | class   | type        | name     | geometry |
+         | W2  | highway | residential | X street | 3,4      |
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | W2              |
+
+
+    Scenario: Housenumber is reparented when street looses name matching addr:street
+        Given the grid
+         | 1 |    |   | 2 |
+         |   | 10 |   |   |
+         |   |    |   |   |
+         | 3 |    |   | 4 |
+        And the places
+         | osm | class   | type        | name     | geometry |
+         | W1  | highway | residential | A street | 1,2      |
+         | W2  | highway | residential | X street | 3,4      |
+        And the places
+         | osm | class    | type | housenr | street   | geometry |
+         | N1  | building | yes  | 3       | X street | 10       |
+        When importing
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | W2              |
+        When updating places
+         | osm | class   | type        | name     | geometry |
+         | W2  | highway | residential | B street | 3,4      |
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | W1              |
+
+
     Scenario: Housenumber is reparented when street gets name matching addr:street
         Given the grid
          | 1 |    |   | 2 |
@@ -58,3 +109,57 @@ Feature: Update parenting of objects
         Then placex contains
          | object | parent_place_id |
          | N1     | W2              |
+
+
+    # Invalidation of geometries currently disabled for addr:place matches.
+    @Fail
+    Scenario: Housenumber is reparented when place is renamed to matching addr:place
+        Given the grid
+         | 1 |    |   | 2 |
+         |   | 10 | 4 |   |
+         |   |    |   |   |
+         |   |    | 5 |   |
+        And the places
+         | osm | class   | type        | name     | geometry |
+         | W1  | highway | residential | A street | 1,2      |
+         | N5  | place   | village     | Bdorf    | 5        |
+         | N4  | place   | village     | Other    | 4        |
+        And the places
+         | osm | class    | type | housenr | addr_place | geometry |
+         | N1  | building | yes  | 3       | Cdorf      | 10       |
+        When importing
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | N4              |
+        When updating places
+         | osm | class   | type        | name     | geometry |
+         | N5  | place   | village     | Cdorf    | 5        |
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | N5              |
+
+
+    Scenario: Housenumber is reparented when it looses a matching addr:place
+        Given the grid
+         | 1 |    |   | 2 |
+         |   | 10 | 4 |   |
+         |   |    |   |   |
+         |   |    | 5 |   |
+        And the places
+         | osm | class   | type        | name     | geometry |
+         | W1  | highway | residential | A street | 1,2      |
+         | N5  | place   | village     | Bdorf    | 5        |
+         | N4  | place   | village     | Other    | 4        |
+        And the places
+         | osm | class    | type | housenr | addr_place | geometry |
+         | N1  | building | yes  | 3       | Bdorf      | 10       |
+        When importing
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | N5              |
+        When updating places
+         | osm | class   | type        | name     | geometry |
+         | N5  | place   | village     | Cdorf    | 5        |
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | N4              |