]> git.openstreetmap.org Git - nominatim.git/blob - tests/features/db/update/interpolation.feature
Remove interpolation lines from placex and save them in an extra table.
[nominatim.git] / tests / features / db / update / interpolation.feature
1 @DB
2 Feature: Update of address interpolations
3     Test the interpolated address are updated correctly
4
5     Scenario: addr:street added to interpolation
6       Given the scene parallel-road
7       And the place nodes
8           | osm_id | class | type  | housenumber | geometry
9           | 1      | place | house | 2           | :n-middle-w
10           | 2      | place | house | 6           | :n-middle-e
11       And the place ways
12           | osm_id | class   | type    | housenumber | geometry
13           | 10     | place   | houses  | even        | :w-middle
14       And the place ways
15           | osm_id | class   | type         | name                    | geometry
16           | 2      | highway | unclassified | 'name' : 'Sun Way'      | :w-north
17           | 3      | highway | unclassified | 'name' : 'Cloud Street' | :w-south
18       And the ways
19           | id  | nodes
20           | 10  | 1,100,101,102,2
21       When importing
22       Then table placex contains
23           | object | parent_place_id
24           | N1     | W2
25           | N2     | W2
26       And table location_property_osmline contains
27           | object | parent_place_id | startnumber | endnumber
28           | W10    | W2              | 2           | 6
29       When updating place ways
30           | osm_id | class   | type    | housenumber | street       | geometry
31           | 10     | place   | houses  | even        | Cloud Street | :w-middle
32       Then table placex contains
33           | object | parent_place_id
34           | N1     | W3
35           | N2     | W3
36       And table location_property_osmline contains
37           | object | parent_place_id | startnumber | endnumber
38           | W10    | W3              | 2           | 6
39
40     @Fail
41     Scenario: addr:street added to housenumbers
42       Given the scene parallel-road
43       And the place nodes
44           | osm_id | class | type  | housenumber | geometry
45           | 1      | place | house | 2           | :n-middle-w
46           | 2      | place | house | 6           | :n-middle-e
47       And the place ways
48           | osm_id | class   | type    | housenumber | geometry
49           | 10     | place   | houses  | even        | :w-middle
50       And the place ways
51           | osm_id | class   | type         | name                    | geometry
52           | 2      | highway | unclassified | 'name' : 'Sun Way'      | :w-north
53           | 3      | highway | unclassified | 'name' : 'Cloud Street' | :w-south
54       And the ways
55           | id  | nodes
56           | 10  | 1,100,101,102,2
57       When importing
58       Then table placex contains
59           | object | parent_place_id
60           | N1     | W2
61           | N2     | W2
62       And table location_property_osmline contains
63           | object | parent_place_id | startnumber | endnumber
64           | W10    | W2              | 2           | 6
65       When updating place nodes
66           | osm_id | class | type  | street      | housenumber | geometry
67           | 1      | place | house | Cloud Street| 2           | :n-middle-w
68           | 2      | place | house | Cloud Street| 6           | :n-middle-e
69       Then table placex contains
70           | object | parent_place_id
71           | N1     | W3
72           | N2     | W3
73       And table location_property_osmline contains
74           | object | parent_place_id | startnumber | endnumber
75           | W10    | W3              | 2           | 6
76
77
78     Scenario: interpolation tag removed
79       Given the scene parallel-road
80       And the place nodes
81           | osm_id | class | type  | housenumber | geometry
82           | 1      | place | house | 2           | :n-middle-w
83           | 2      | place | house | 6           | :n-middle-e
84       And the place ways
85           | osm_id | class   | type    | housenumber | geometry
86           | 10     | place   | houses  | even        | :w-middle
87       And the place ways
88           | osm_id | class   | type         | name                    | geometry
89           | 2      | highway | unclassified | 'name' : 'Sun Way'      | :w-north
90           | 3      | highway | unclassified | 'name' : 'Cloud Street' | :w-south
91       And the ways
92           | id  | nodes
93           | 10  | 1,100,101,102,2
94       When importing
95       Then table placex contains
96           | object | parent_place_id
97           | N1     | W2
98           | N2     | W2
99       And table location_property_osmline contains
100           | object | parent_place_id | startnumber | endnumber
101           | W10    | W2              | 2           | 6
102       When marking for delete W10
103       Then table location_property_osmline has no entry for W10
104       And table placex contains
105           | object | parent_place_id
106           | N1     | W2
107           | N2     | W2
108
109
110     Scenario: referenced road added
111       Given the scene parallel-road
112       And the place nodes
113           | osm_id | class | type  | housenumber | geometry
114           | 1      | place | house | 2           | :n-middle-w
115           | 2      | place | house | 6           | :n-middle-e
116       And the place ways
117           | osm_id | class   | type    | housenumber | street      | geometry
118           | 10     | place   | houses  | even        | Cloud Street| :w-middle
119       And the place ways
120           | osm_id | class   | type         | name                    | geometry
121           | 2      | highway | unclassified | 'name' : 'Sun Way'      | :w-north
122       And the ways
123           | id  | nodes
124           | 10  | 1,100,101,102,2
125       When importing
126       Then table placex contains
127           | object | parent_place_id
128           | N1     | W2
129           | N2     | W2
130       And table location_property_osmline contains
131           | object | parent_place_id | startnumber | endnumber
132           | W10    | W2              | 2           | 6
133       When updating place ways
134           | osm_id | class   | type         | name                    | geometry
135           | 3      | highway | unclassified | 'name' : 'Cloud Street' | :w-south
136       Then table placex contains
137           | object | parent_place_id
138           | N1     | W3
139           | N2     | W3
140       And table location_property_osmline contains
141           | object | parent_place_id | startnumber | endnumber
142           | W10    | W3              | 2           | 6
143
144
145     Scenario: referenced road deleted
146       Given the scene parallel-road
147       And the place nodes
148           | osm_id | class | type  | housenumber | geometry
149           | 1      | place | house | 2           | :n-middle-w
150           | 2      | place | house | 6           | :n-middle-e
151       And the place ways
152           | osm_id | class   | type    | housenumber | street      | geometry
153           | 10     | place   | houses  | even        | Cloud Street| :w-middle
154       And the place ways
155           | osm_id | class   | type         | name                    | geometry
156           | 2      | highway | unclassified | 'name' : 'Sun Way'      | :w-north
157           | 3      | highway | unclassified | 'name' : 'Cloud Street' | :w-south
158       And the ways
159           | id  | nodes
160           | 10  | 1,100,101,102,2
161       When importing
162       Then table placex contains
163           | object | parent_place_id
164           | N1     | W3
165           | N2     | W3
166       And table location_property_osmline contains
167           | object | parent_place_id | startnumber | endnumber
168           | W10    | W3              | 2           | 6
169       When marking for delete W3
170       Then table placex contains
171           | object | parent_place_id
172           | N1     | W2
173           | N2     | W2
174       And table location_property_osmline contains
175           | object | parent_place_id | startnumber | endnumber
176           | W10    | W2              | 2           | 6