]> git.openstreetmap.org Git - nominatim.git/commitdiff
add naming tests
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 25 Nov 2016 19:53:56 +0000 (20:53 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Fri, 30 Dec 2016 21:58:58 +0000 (22:58 +0100)
test/bdd/db/import/naming.feature [new file with mode: 0644]
test/bdd/db/query/normalization.feature [new file with mode: 0644]

diff --git a/test/bdd/db/import/naming.feature b/test/bdd/db/import/naming.feature
new file mode 100644 (file)
index 0000000..d233937
--- /dev/null
@@ -0,0 +1,39 @@
+@DB
+Feature: Import and search of names
+    Tests all naming related import issues
+
+    Scenario: No copying name tag if only one name
+        Given the places
+          | osm | class | type      | name   | geometry |
+          | N1  | place | locality  | german | country:de |
+        When importing
+        Then placex contains
+          | object | calculated_country_code | name+name |
+          | N1     | de                      | german |
+
+    Scenario: Copying name tag to default language if it does not exist
+        Given the places
+          | osm | class | type      | name   | name+name:fi | geometry |
+          | N1  | place | locality  | german | finnish      | country:de |
+        When importing
+        Then placex contains
+          | object | calculated_country_code | name   | name+name:fi | name+name:de |
+          | N1     | de                      | german | finnish      | german       |
+
+    Scenario: Copying default language name tag to name if it does not exist
+        Given the places
+          | osm | class | type     | name+name:de | name+name:fi | geometry |
+          | N1  | place | locality | german       | finnish      | country:de |
+        When importing
+        Then placex contains
+          | object | calculated_country_code | name   | name+name:fi | name+name:de |
+          | N1     | de                      | german | finnish      | german       |
+
+    Scenario: Do not overwrite default language with name tag
+        Given the places
+          | osm | class | type     | name   | name+name:fi | name+name:de | geometry |
+          | N1  | place | locality | german | finnish      | local        | country:de |
+        When importing
+        Then placex contains
+          | object | calculated_country_code | name   | name+name:fi | name+name:de |
+          | N1     | de                      | german | finnish      | local        |
diff --git a/test/bdd/db/query/normalization.feature b/test/bdd/db/query/normalization.feature
new file mode 100644 (file)
index 0000000..71c69de
--- /dev/null
@@ -0,0 +1,139 @@
+@DB
+Feature: Import and search of names
+    Tests all naming related issues: normalisation,
+    abbreviations, internationalisation, etc.
+
+    Scenario: Case-insensitivity of search
+        Given the places
+          | osm | class | type      | name |
+          | N1  | place | locality  | FooBar |
+        When importing
+        Then placex contains
+          | object | class  | type     | name+name |
+          | N1     | place  | locality | FooBar |
+        When searching for "FooBar"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "foobar"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "fOObar"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "FOOBAR"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+
+    Scenario: Multiple spaces in name
+        Given the places
+          | osm | class | type      | name |
+          | N1  | place | locality  | one two  three |
+        When importing
+        When searching for "one two three"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "one   two three"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "one two  three"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "    one two three"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+
+    Scenario: Special characters in name
+        Given the places
+          | osm | class | type      | name |
+          | N1  | place | locality  | Jim-Knopf-Str |
+          | N2  | place | locality  | Smith/Weston |
+          | N3  | place | locality  | space mountain |
+          | N4  | place | locality  | space |
+          | N5  | place | locality  | mountain |
+        When importing
+        When searching for "Jim-Knopf-Str"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "Jim Knopf-Str"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "Jim Knopf Str"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "Jim/Knopf-Str"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "Jim-Knopfstr"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 1 |
+        When searching for "Smith/Weston"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 2 |
+        When searching for "Smith Weston"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 2 |
+        When searching for "Smith-Weston"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 2 |
+        When searching for "space mountain"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 3 |
+        When searching for "space-mountain"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 3 |
+        When searching for "space/mountain"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 3 |
+        When searching for "space\mountain"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 3 |
+        When searching for "space(mountain)"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | N        | 3 |
+
+    Scenario: Landuse with name are found
+        Given the places
+          | osm | class    | type        | name     | geometry |
+          | R1  | natural  | meadow      | landuse1 | (0 0, 1 0, 1 1, 0 1, 0 0) |
+          | R2  | landuse  | industrial  | landuse2 | (0 0, -1 0, -1 -1, 0 -1, 0 0) |
+        When importing
+        When searching for "landuse1"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | R        | 1 |
+        When searching for "landuse2"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | R        | 2 |
+
+    @wip
+    Scenario: Postcode boundaries without ref
+        Given the places
+          | osm | class    | type        | postcode | geometry |
+          | R1  | boundary | postal_code | 12345    | (0 0, 1 0, 1 1, 0 1, 0 0) |
+        When importing
+        When searching for "12345"
+        Then results contain
+         | ID | osm_type | osm_id |
+         | 0  | R        | 1 |