]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/import/parenting.feature
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / bdd / db / import / parenting.feature
index 2650f6f06aa3313e57a57b025af8cec872a4324a..ba4cc28cf36d338758293d6bb143c3ffc8f6dd78 100644 (file)
@@ -18,14 +18,14 @@ Feature: Parenting of objects
          | object | parent_place_id |
          | N1     | W1 |
          | N2     | W1 |
-        When searching for "4 galoo"
+        When sending search query "4 galoo"
         Then results contain
-         | ID | osm_type | osm_id | langaddress
-         | 0  | N        | 1      | 4, galoo, 12345
-        When searching for "5 galoo"
+         | ID | osm_type | osm_id | display_name |
+         | 0  | N        | 1      | 4, galoo, 12345 |
+        When sending search query "5 galoo"
         Then results contain
-         | ID | osm_type | osm_id | langaddress
-         | 0  | N        | 2      | 5, galoo, 99999
+         | ID | osm_type | osm_id | display_name |
+         | 0  | N        | 2      | 5, galoo, 99999 |
 
     Scenario: Address without tags, closest street
         Given the scene roads-with-pois
@@ -87,6 +87,52 @@ Feature: Parenting of objects
          | N3     | W2 |
          | N4     | W1 |
 
+    @fail-legacy
+    Scenario: addr:street tag parents to appropriately named street, locale names
+        Given the scene roads-with-pois
+        And the places
+         | osm | class | type  | street| addr+street:de | geometry |
+         | N1  | place | house | south | Süd               | :p-N1 |
+         | N2  | place | house | north | Nord              | :p-N2 |
+         | N3  | place | house | south | Süd               | :p-S1 |
+         | N4  | place | house | north | Nord              | :p-S2 |
+        And the places
+         | osm | class   | type        | name  | geometry |
+         | W1  | highway | residential | Nord | :w-north |
+         | W2  | highway | residential | Süd | :w-south |
+        And the places
+         | osm | class | type   | name  | name+name:old |
+         | N5  | place | hamlet | south | north         |
+        When importing
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | W2 |
+         | N2     | W1 |
+         | N3     | W2 |
+         | N4     | W1 |
+
+    Scenario: addr:street tag parents to appropriately named street with abbreviation
+        Given the scene roads-with-pois
+        And the places
+         | osm | class | type  | street| geometry |
+         | N1  | place | house | south st | :p-N1 |
+         | N2  | place | house | north st | :p-N2 |
+         | N3  | place | house | south st | :p-S1 |
+         | N4  | place | house | north st | :p-S2 |
+        And the places
+         | osm | class   | type        | name+name:en  | geometry |
+         | W1  | highway | residential | north street | :w-north |
+         | W2  | highway | residential | south street | :w-south |
+        When importing
+        Then placex contains
+         | object | parent_place_id |
+         | N1     | W2 |
+         | N2     | W1 |
+         | N3     | W2 |
+         | N4     | W1 |
+
+
+
     Scenario: addr:street tag parents to next named street
         Given the scene roads-with-pois
         And the places
@@ -224,7 +270,7 @@ Feature: Parenting of objects
         When importing
         Then placex contains
          | object | parent_place_id |
-         | W1     | W3 |
+         | W1     | W2 |
 
     Scenario: Building with addr:street tags
         Given the scene building-on-street-corner
@@ -309,6 +355,29 @@ Feature: Parenting of objects
          | object | parent_place_id |
          | N1     | W3 |
 
+
+    Scenario: street member in associatedStreet relation can be a relation
+        Given the grid
+          | 1 |   |   | 2 |
+          | 3 |   |   | 4 |
+          |   |   |   |   |
+          |   | 9 |   |   |
+          | 5 |   |   | 6 |
+        And the places
+          | osm | class | type  | housenr | geometry |
+          | N9  | place | house | 34      | 9        |
+        And the named places
+          | osm | class   | type       | name      | geometry    |
+          | R14 | highway | pedestrian | Right St  | (1,2,4,3,1) |
+          | W14 | highway | pedestrian | Left St   | 5,6         |
+        And the relations
+          | id | members             | tags+type |
+          | 1  | N9:house,R14:street | associatedStreet |
+        When importing
+        Then placex contains
+          | object | parent_place_id |
+          | N9     | R14             |
+
     Scenario: POIs in building inherit address
         Given the scene building-on-street-corner
         And the named places
@@ -325,11 +394,15 @@ Feature: Parenting of objects
          | W3  | highway  | residential | foo  | :w-NS |
         When importing
         Then placex contains
-         | object | parent_place_id | street | addr_place | housenumber |
-         | W1     | W3              | foo    | nowhere    | 3 |
-         | N1     | W3              | foo    | nowhere    | 3 |
-         | N2     | W3              | foo    | nowhere    | 3 |
-         | N3     | W3              | foo    | nowhere    | 3 |
+         | object | parent_place_id | housenumber |
+         | W1     | W3              | 3 |
+         | N1     | W3              | 3 |
+         | N2     | W3              | 3 |
+         | N3     | W3              | 3 |
+        When sending geocodejson search query "3, foo" with address
+        Then results contain
+         | housenumber |
+         | 3           |
 
     Scenario: POIs don't inherit from streets
         Given the scene building-on-street-corner
@@ -344,8 +417,8 @@ Feature: Parenting of objects
          | W3  | highway  | residential | foo  | :w-NS |
         When importing
         Then placex contains
-         | object | parent_place_id | street | addr_place | housenumber |
-         | N1     | W3              | None   | None       | None |
+         | object | parent_place_id | housenumber |
+         | N1     | W3              | None |
 
     Scenario: POIs with own address do not inherit building address
         Given the scene building-on-street-corner
@@ -370,11 +443,11 @@ Feature: Parenting of objects
          | W3  | highway  | residential | foo  | :w-NS |
         When importing
         Then placex contains
-         | object | parent_place_id | street | addr_place | housenumber |
-         | W1     | N4              | None   | theplace   | 3 |
-         | N1     | W2              | bar    | None       | None |
-         | N2     | W3              | None   | None       | 4 |
-         | N3     | W2              | None   | nowhere    | None |
+         | object | parent_place_id | housenumber |
+         | W1     | N4              | 3 |
+         | N1     | W2              | None |
+         | N2     | W3              | 4 |
+         | N3     | N4              | None |
 
     Scenario: POIs parent a road if they are attached to it
         Given the scene points-on-roads
@@ -441,3 +514,42 @@ Feature: Parenting of objects
          | object | parent_place_id |
          | N1     | W2 |
 
+    # github #1056
+    Scenario: Full names should be preferably matched for nearest road
+        Given the grid
+            | 1 |   | 2 | 5 |
+            |   |   |   |   |
+            | 3 |   |   | 4 |
+            |   | 10|   |   |
+        And the places
+            | osm | class   | type    | name+name               | geometry |
+            | W1  | highway | residential | Via Cavassico superiore | 1, 2 |
+            | W3  | highway | residential | Via Cavassico superiore | 2, 5 |
+            | W2  | highway | primary | Via Frazione Cavassico  | 3, 4     |
+        And the named places
+            | osm | class   | type    | addr+street             |
+            | N10 | shop    | yes     | Via Cavassico superiore |
+        When importing
+        Then placex contains
+          | object | parent_place_id |
+          | N10    | W1 |
+
+     Scenario: place=square may be parented via addr:place
+        Given the grid
+            |   |   | 9 |   |   |
+            |   | 5 |   | 6 |   |
+            |   | 8 |   | 7 |   |
+        And the places
+            | osm | class    | type    | name+name | geometry        |
+            | W2  | place    | square  | Foo pl    | (5, 6, 7, 8, 5) |
+        And the places
+            | osm | class    | type    | name+name | housenr | addr_place | geometry |
+            | N10 | shop     | grocery | le shop   | 5       | Foo pl     | 9        |
+        When importing
+        Then placex contains
+            | object | rank_address |
+            | W2     | 25           |
+        Then placex contains
+            | object | parent_place_id |
+            | N10    | W2              |
+