]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/import/addressing.feature
POIs with unknown addr:place must add parent name to address
[nominatim.git] / test / bdd / db / import / addressing.feature
index 0421352139bd8c85adc86dc674a0e5382ecfcae5..9050c19b0923c6cf10d388e7725fd347d0847fa1 100644 (file)
@@ -331,10 +331,10 @@ Feature: Address computation
             | osm | class    | type           | admin | name  | geometry    |
             | R1  | boundary | administrative | 8     | Left  | (1,2,3,4,1) |
             | R2  | boundary | administrative | 8     | Right | (2,3,6,5,2) |
             | osm | class    | type           | admin | name  | geometry    |
             | R1  | boundary | administrative | 8     | Left  | (1,2,3,4,1) |
             | R2  | boundary | administrative | 8     | Right | (2,3,6,5,2) |
-        And the named places
-            | osm | class   | type    | addr+city | geometry |
-            | W1  | highway | primary | Right     | 8,9      |
-            | N1  | amenity | cafe    | Left      | 9        |
+        And the places
+            | osm | class   | type    | name      | addr+city | geometry |
+            | W1  | highway | primary | Wonderway | Right     | 8,9      |
+            | N1  | amenity | cafe    | Bolder    | Left      | 9        |
         When importing
         Then place_addressline contains
            | object | address | isaddress |
         When importing
         Then place_addressline contains
            | object | address | isaddress |
@@ -343,4 +343,57 @@ Feature: Address computation
         And place_addressline doesn't contain
            | object | address |
            | W1     | R1      |
         And place_addressline doesn't contain
            | object | address |
            | W1     | R1      |
+        When searching for "Bolder"
+        Then results contain
+           | osm_type | osm_id | name                    |
+           | N        | 1      | Bolder, Wonderway, Left |
 
 
+    Scenario: addr:* tags do not produce addresslines when the parent has the address part
+        Given the grid
+            | 1 |   |   | 5 |
+            |   | 8 | 9 |   |
+            | 4 |   |   | 6 |
+        And the places
+            | osm | class    | type           | admin | name  | geometry    |
+            | R1  | boundary | administrative | 8     | Outer | (1,5,6,4,1) |
+        And the places
+            | osm | class   | type    | name      | addr+city | geometry |
+            | W1  | highway | primary | Wonderway | Outer     | 8,9      |
+            | N1  | amenity | cafe    | Bolder    | Outer     | 9        |
+        When importing
+        Then place_addressline contains
+           | object | address | isaddress |
+           | W1     | R1      | True      |
+        And place_addressline doesn't contain
+           | object | address |
+           | N1     | R1      |
+        When searching for "Bolder"
+        Then results contain
+           | osm_type | osm_id | name                     |
+           | N        | 1      | Bolder, Wonderway, Outer |
+
+    Scenario: addr:* tags on outside do not produce addresslines when the parent has the address part
+        Given the grid
+            | 1 |   | 2 |   |   | 5 |
+            |   |   |   | 8 | 9 |   |
+            | 4 |   | 3 |   |   | 6 |
+        And the places
+            | osm | class    | type           | admin | name  | geometry    |
+            | R1  | boundary | administrative | 8     | Left  | (1,2,3,4,1) |
+            | R2  | boundary | administrative | 8     | Right | (2,3,6,5,2) |
+        And the places
+            | osm | class   | type    | name      | addr+city | geometry |
+            | W1  | highway | primary | Wonderway | Left      | 8,9      |
+            | N1  | amenity | cafe    | Bolder    | Left      | 9        |
+        When importing
+        Then place_addressline contains
+           | object | address | isaddress |
+           | W1     | R1      | True      |
+           | W1     | R2      | False     |
+        And place_addressline doesn't contain
+           | object | address |
+           | N1     | R1      |
+        When searching for "Bolder"
+        Then results contain
+           | osm_type | osm_id | name                    |
+           | N        | 1      | Bolder, Wonderway, Left |