X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/b2be8c3ab7baca371ae2d2f65555e0a5ca09f531..3a8ddf736edf4d2fc1d772179600417adc357bbb:/test/bdd/db/import/parenting.feature diff --git a/test/bdd/db/import/parenting.feature b/test/bdd/db/import/parenting.feature index b0b76438..ba4cc28c 100644 --- a/test/bdd/db/import/parenting.feature +++ b/test/bdd/db/import/parenting.feature @@ -1,6 +1,6 @@ @DB Feature: Parenting of objects - Tests that the correct parent is choosen + Tests that the correct parent is chosen Scenario: Address inherits postcode from its street unless it has a postcode Given the scene roads-with-pois @@ -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 | +