]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/import/country.feature
Merge pull request #3536 from lonvia/remove-php
[nominatim.git] / test / bdd / db / import / country.feature
index 21f95e1f38c6de3a16892a407e3780a59018dc02..bfa46969854831c22e45d80d58dad1f5f2e445f8 100644 (file)
@@ -10,38 +10,83 @@ Feature: Country handling
             | osm  | class    | type          | name  | geometry   |
             | N1   | place    | town          | Wenig | country:de |
         When importing
-        When searching for "Wenig, Loudou"
+        When sending search query "Wenig, Loudou"
         Then results contain
-            | osm_type | osm_id | name |
-            | N        | 1      | Wenig, Deutschland |
-        When searching for "Wenig"
+            | osm | display_name |
+            | N1  | Wenig, Deutschland |
+        When sending search query "Wenig"
             | accept-language |
             | xy,en |
         Then results contain
-            | osm_type | osm_id | name |
-            | N        | 1      | Wenig, Loudou |
-    Scenario: OSM country relations outside expected boundaries are ignored
+            | osm | display_name |
+            | N1  | Wenig, Loudou |
+
+    Scenario: OSM country relations outside expected boundaries are ignored for naming
+        Given the grid
+            | 1 |  | 2 |
+            | 4 |  | 3 |
         Given the places
             | osm  | class    | type           | admin | name+name:xy | country | geometry |
-            | R1   | boundary | administrative | 2     | Loudou       | de      | poly-area:0.1 |
+            | R1   | boundary | administrative | 2     | Loudou       | de      | (1,2,3,4,1) |
         Given the places
             | osm  | class    | type          | name  | geometry   |
             | N1   | place    | town          | Wenig | country:de |
         When importing
-        When searching for "Wenig"
+        When sending search query "Wenig"
             | accept-language |
             | xy,en |
         Then results contain
-            | osm_type | osm_id | name |
-            | N        | 1      | Wenig, Germany |
+            | osm | display_name |
+            | N1  | Wenig, Germany |
+
     Scenario: Pre-defined country names are used
+        Given the grid with origin CH
+            | 1 |
         Given the places
             | osm  | class    | type          | name  | geometry   |
-            | N1   | place    | town          | Ingb  | country:ch |
+            | N1   | place    | town          | Ingb  | 1          |
         When importing
-        And searching for "Ingb"
+        And sending search query "Ingb"
             | accept-language |
             | en,de |
         Then results contain
-            | osm_type | osm_id | name |
-            | N        | 1      | Ingb, Switzerland |
+            | osm | display_name |
+            | N1  | Ingb, Switzerland |
+
+    Scenario: For overlapping countries, pre-defined countries are tie-breakers
+        Given the grid with origin US
+            | 1 |   | 2 |   | 5 |
+            |   | 9 |   | 8 |   |
+            | 4 |   | 3 |   | 6 |
+        Given the named places
+            | osm  | class    | type           | admin | country | geometry |
+            | R1   | boundary | administrative | 2     | de      | (1,5,6,4,1) |
+            | R2   | boundary | administrative | 2     | us      | (1,2,3,4,1) |
+        And the named places
+            | osm  | class    | type  | geometry   |
+            | N1   | place    | town  | 9 |
+            | N2   | place    | town  | 8 |
+        When importing
+        Then placex contains
+            | object | country_code |
+            | N1     | us           |
+            | N2     | de           |
+
+    Scenario: For overlapping countries outside pre-define countries prefer smaller partition
+        Given the grid with origin US
+            | 1 |   | 2 |   | 5 |
+            |   | 9 |   | 8 |   |
+            | 4 |   | 3 |   | 6 |
+        Given the named places
+            | osm  | class    | type           | admin | country | geometry |
+            | R1   | boundary | administrative | 2     | ch      | (1,5,6,4,1) |
+            | R2   | boundary | administrative | 2     | de      | (1,2,3,4,1) |
+        And the named places
+            | osm  | class    | type  | geometry   |
+            | N1   | place    | town  | 9 |
+            | N2   | place    | town  | 8 |
+        When importing
+        Then placex contains
+            | object | country_code |
+            | N1     | de           |
+            | N2     | ch           |