mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-24 21:44:45 +03:00
324b1b5575
The BDD tests cannot make assumptions about the structure of the word table anymore because it depends on the tokenizer. Use more abstract descriptions instead that ask for specific kinds of tokens.
157 lines
7.2 KiB
Gherkin
157 lines
7.2 KiB
Gherkin
@DB
|
|
Feature: Import of postcodes
|
|
Tests for postcode estimation
|
|
|
|
Scenario: Postcodes on the object are preferred over those on the address
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
| R4 | boundary | administrative | 10 | 112 DE 34 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W93 | highway | residential | 112 DE 344 | :w2N |
|
|
| W22 | building | yes | 112 DE 344N | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W22 | 112 DE 344N |
|
|
| W93 | 112 DE 344 |
|
|
| R4 | 112 DE 34 |
|
|
| R34 | 112 DE |
|
|
| R1 | 112 |
|
|
|
|
Scenario: Postcodes from a road are inherited by an attached building
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W93 | highway | residential | 86034 | :w2N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W22 | building | yes | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode | parent_place_id |
|
|
| W22 | 86034 | W93 |
|
|
|
|
Scenario: Postcodes from the lowest admin area are inherited by ways
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
| R4 | boundary | administrative | 10 | 112 DE 34 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W93 | 112 DE 34 |
|
|
|
|
Scenario: Postcodes from the lowest admin area with postcode are inherited by ways
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
And the named places
|
|
| osm | class | type | admin | geometry |
|
|
| R4 | boundary | administrative | 10 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode | parent_place_id |
|
|
| W93 | 112 DE | R4 |
|
|
|
|
Scenario: Postcodes from the lowest admin area are inherited by buildings
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
| R4 | boundary | administrative | 10 | 112 DE 34 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W22 | building | yes | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W22 | 112 DE 34 |
|
|
|
|
Scenario: Roads get postcodes from nearby named buildings without other info
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W22 | building | yes | 445023 | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W93 | 445023 |
|
|
|
|
Scenario: Roads get postcodes from nearby unnamed buildings without other info
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W22 | place | postcode | 445023 | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W93 | 445023 |
|
|
|
|
Scenario: Postcodes from admin boundaries are preferred over estimated postcodes
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
| R4 | boundary | administrative | 10 | 112 DE 34 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W22 | building | yes | 445023 | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W93 | 112 DE 34 |
|
|
|
|
Scenario: Postcodes are added to the postcode and word table
|
|
Given the places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N34 | place | house | 01982 | 111 |country:de |
|
|
When importing
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| de | 01982 | country:de |
|
|
And there are word tokens for postcodes 01982
|
|
|
|
Scenario: Different postcodes with the same normalization can both be found
|
|
Given the places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N34 | place | house | EH4 7EA | 111 | country:gb |
|
|
| N35 | place | house | E4 7EA | 111 | country:gb |
|
|
When importing
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| gb | EH4 7EA | country:gb |
|
|
| gb | E4 7EA | country:gb |
|
|
When sending search query "EH4 7EA"
|
|
Then results contain
|
|
| type | display_name |
|
|
| postcode | EH4 7EA |
|
|
When sending search query "E4 7EA"
|
|
Then results contain
|
|
| type | display_name |
|
|
| postcode | E4 7EA |
|