]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/db/query/housenumbers.feature
add test that interpolations are found by odd/even
[nominatim.git] / test / bdd / db / query / housenumbers.feature
1 @DB
2 Feature: Searching of house numbers
3     Test for specialised treeatment of housenumbers
4
5     Background:
6         Given the grid
7          | 1 |   | 2 |   | 3 |
8          |   | 9 |   |   |   |
9          |   |   |   |   | 4 |
10
11
12     Scenario: A simple numeral housenumber is found
13         Given the places
14          | osm | class    | type | housenr | geometry |
15          | N1  | building | yes  | 45      | 9        |
16         And the places
17          | osm | class   | type | name       | geometry |
18          | W10 | highway | path | North Road | 1,2,3    |
19         When importing
20         And sending search query "45, North Road"
21         Then results contain
22          | osm |
23          | N1  |
24         When sending search query "North Road 45"
25         Then results contain
26          | osm |
27          | N1  |
28
29
30     Scenario Outline: Each housenumber in a list is found
31         Given the places
32          | osm | class    | type | housenr | geometry |
33          | N1  | building | yes  | <hnrs>  | 9        |
34         And the places
35          | osm | class   | type | name     | geometry |
36          | W10 | highway | path | Multistr | 1,2,3    |
37         When importing
38         When sending search query "2 Multistr"
39         Then results contain
40          | osm |
41          | N1  |
42         When sending search query "4 Multistr"
43         Then results contain
44          | osm |
45          | N1  |
46         When sending search query "12 Multistr"
47         Then results contain
48          | osm |
49          | N1  |
50
51      Examples:
52         | hnrs |
53         | 2;4;12 |
54         | 2,4,12 |
55         | 2, 4, 12 |
56
57
58     Scenario: A name mapped as a housenumber is found
59         Given the places
60          | osm | class    | type | housenr | geometry |
61          | N1  | building | yes  | Warring | 9        |
62         And the places
63          | osm | class   | type | name       | geometry |
64          | W10 | highway | path | Chester St | 1,2,3    |
65         When importing
66         When sending search query "Chester St Warring"
67         Then results contain
68          | osm |
69          | N1  |
70
71
72     Scenario: Interpolations are found according to their type
73         Given the grid
74          | 10  |  | 11  |
75          | 100 |  | 101 |
76          | 20  |  | 21  |
77         And the places
78          | osm  | class   | type        | name    | geometry |
79          | W100 | highway | residential | Ringstr | 100, 101 |
80         And the places
81          | osm | class | type   | addr+interpolation | geometry |
82          | W10 | place | houses | even               | 10, 11   |
83          | W20 | place | houses | odd                | 20, 21   |
84         And the places
85          | osm | class | type  | housenr | geometry |
86          | N10 | place | house | 10      | 10 |
87          | N11 | place | house | 20      | 11 |
88          | N20 | place | house | 11      | 20 |
89          | N21 | place | house | 21      | 21 |
90         And the ways
91          | id | nodes |
92          | 10 | 10, 11 |
93          | 20 | 20, 21 |
94         When importing
95         When sending search query "Ringstr 12"
96         Then results contain
97          | osm |
98          | W10 |
99         When sending search query "Ringstr 13"
100         Then results contain
101          | osm |
102          | W20 |