]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/osm2pgsql/update/tags.feature
0b6c2a624bda27ce2438d207b9c476ba3ed66e14
[nominatim.git] / test / bdd / osm2pgsql / update / tags.feature
1 @DB
2 Feature: Tag evaluation
3     Tests if tags are correctly updated in the place table
4
5
6     Scenario: Main tag deleted
7         When loading osm data
8             """
9             n1 Tamenity=restaurant
10             n2 Thighway=bus_stop,railway=stop,name=X
11             n3 Tamenity=prison
12             """
13         Then place contains exactly
14             | object     | class   | type       |
15             | N1         | amenity | restaurant |
16             | N2:highway | highway | bus_stop   |
17             | N2:railway | railway | stop       |
18             | N3         | amenity | prison     |
19
20         When updating osm data
21             """
22             n1 Tnot_a=restaurant
23             n2 Thighway=bus_stop,name=X
24             """
25         Then place contains exactly
26             | object     | class   | type       |
27             | N2:highway | highway | bus_stop   |
28             | N3         | amenity | prison     |
29
30
31     Scenario: Main tag added
32         When loading osm data
33             """
34             n1 Tatity=restaurant
35             n2 Thighway=bus_stop,name=X
36             """
37         Then place contains exactly
38             | object     | class   | type       |
39             | N2:highway | highway | bus_stop   |
40
41         When updating osm data
42             """
43             n1 Tamenity=restaurant
44             n2 Thighway=bus_stop,railway=stop,name=X
45             """
46         Then place contains exactly
47             | object     | class   | type       |
48             | N1         | amenity | restaurant |
49             | N2:highway | highway | bus_stop   |
50             | N2:railway | railway | stop       |
51
52
53     Scenario: Main tag modified
54         When loading osm data
55             """
56             n10 Thighway=footway,name=X
57             n11 Tamenity=atm
58             """
59         Then place contains exactly
60             | object | class   | type    |
61             | N10    | highway | footway |
62             | N11    | amenity | atm     |
63
64         When updating osm data
65             """
66             n10 Thighway=path,name=X
67             n11 Thighway=primary
68             """
69         Then place contains exactly
70             | object | class   | type    |
71             | N10    | highway | path    |
72             | N11    | highway | primary |
73
74
75     Scenario: Main tags with name, name added
76         When loading osm data
77             """
78             n45 Tlanduse=cemetry
79             n46 Tbuilding=yes
80             """
81         Then place contains exactly
82             | object | class   | type    |
83
84         When updating osm data
85             """
86             n45 Tlanduse=cemetry,name=TODO
87             n46 Tbuilding=yes,addr:housenumber=1
88             """
89         Then place contains exactly
90             | object | class   | type    |
91             | N45    | landuse | cemetry |
92             | N46    | building| yes     |
93
94
95     Scenario: Main tags with name, name removed
96         When loading osm data
97             """
98             n45 Tlanduse=cemetry,name=TODO
99             n46 Tbuilding=yes,addr:housenumber=1
100             """
101         Then place contains exactly
102             | object | class   | type    |
103             | N45    | landuse | cemetry |
104             | N46    | building| yes     |
105
106         When updating osm data
107             """
108             n45 Tlanduse=cemetry
109             n46 Tbuilding=yes
110             """
111         Then place contains exactly
112             | object | class   | type    |
113
114
115     Scenario: Main tags with name, name modified
116         When loading osm data
117             """
118             n45 Tlanduse=cemetry,name=TODO
119             n46 Tbuilding=yes,addr:housenumber=1
120             """
121         Then place contains exactly
122             | object | class   | type    | name            | address           |
123             | N45    | landuse | cemetry | 'name' : 'TODO' | -                 |
124             | N46    | building| yes     | -               | 'housenumber': '1'|
125
126         When updating osm data
127             """
128             n45 Tlanduse=cemetry,name=DONE
129             n46 Tbuilding=yes,addr:housenumber=10
130             """
131         Then place contains exactly
132             | object | class   | type    | name            | address            |
133             | N45    | landuse | cemetry | 'name' : 'DONE' | -                  |
134             | N46    | building| yes     | -               | 'housenumber': '10'|
135
136
137     Scenario: Main tag added to address only node
138         When loading osm data
139             """
140             n1 Taddr:housenumber=345
141             """
142         Then place contains exactly
143             | object | class | type  | address |
144             | N1     | place | house | 'housenumber': '345'|
145
146         When updating osm data
147             """
148             n1 Taddr:housenumber=345,building=yes
149             """
150         Then place contains exactly
151             | object | class    | type  | address |
152             | N1     | building | yes   | 'housenumber': '345'|
153
154
155     Scenario: Main tag removed from address only node
156         When loading osm data
157             """
158             n1 Taddr:housenumber=345,building=yes
159             """
160         Then place contains exactly
161             | object | class    | type  | address |
162             | N1     | building | yes   | 'housenumber': '345'|
163
164         When updating osm data
165             """
166             n1 Taddr:housenumber=345
167             """
168         Then place contains exactly
169             | object | class | type  | address |
170             | N1     | place | house | 'housenumber': '345'|
171
172
173     Scenario: Main tags with name key, adding key name
174         When loading osm data
175             """
176             n22 Tbridge=yes
177             """
178         Then place contains exactly
179             | object | class    | type  |
180
181         When updating osm data
182             """
183             n22 Tbridge=yes,bridge:name=high
184             """
185         Then place contains exactly
186             | object | class    | type  | name           |
187             | N22    | bridge   | yes   | 'name': 'high' |
188
189
190     Scenario: Main tags with name key, deleting key name
191         When loading osm data
192             """
193             n22 Tbridge=yes,bridge:name=high
194             """
195         Then place contains exactly
196             | object | class    | type  | name           |
197             | N22    | bridge   | yes   | 'name': 'high' |
198
199         When updating osm data
200             """
201             n22 Tbridge=yes
202             """
203         Then place contains exactly
204             | object | class    | type  |
205
206
207     Scenario: Main tags with name key, changing key name
208         When loading osm data
209             """
210             n22 Tbridge=yes,bridge:name=high
211             """
212         Then place contains exactly
213             | object | class    | type  | name           |
214             | N22    | bridge   | yes   | 'name': 'high' |
215
216         When updating osm data
217             """
218             n22 Tbridge=yes,bridge:name:en=high
219             """
220         Then place contains exactly
221             | object | class    | type  | name           |
222             | N22    | bridge   | yes   | 'name:en': 'high' |
223