]> git.openstreetmap.org Git - nominatim.git/blob - test/python/tokenizer/sanitizers/test_tag_japanese.py
c82c4261b01f13296d98fb3efd57835b3c1929f5
[nominatim.git] / test / python / tokenizer / sanitizers / test_tag_japanese.py
1 from nominatim.data.place_info import PlaceInfo
2 from nominatim.data.place_name import PlaceName
3 from nominatim.tokenizer.place_sanitizer import PlaceSanitizer
4 from typing import Mapping, Optional, List
5 import pytest
6
7 class TestTagJapanese:
8     @pytest.fixture(autouse=True)
9     def setup_country(self, def_config):
10         self.config = def_config
11
12     def run_sanitizer_on(self,type, **kwargs):
13         place = PlaceInfo({
14             'address': kwargs,
15             'country_code': 'jp'
16         })
17         sanitizer_args = {'step': 'tag-japanese'}
18         _, address = PlaceSanitizer([sanitizer_args], self.config).process_names(place)
19         tmp_list = [(p.name,p.kind) for p in address]
20         return sorted(tmp_list)
21
22     def test_on_address(self):
23         res = self.run_sanitizer_on('address', name='foo', ref='bar', ref_abc='baz')
24         assert res == [('bar','ref'),('baz','ref_abc'),('foo','name')]
25
26     def test_housenumber(self):
27         res = self.run_sanitizer_on('address', housenumber='2')
28         assert res == [('2','housenumber')]
29
30     def test_blocknumber(self):
31         res = self.run_sanitizer_on('address', block_number='6')
32         assert res == [('6','housenumber')]
33
34     #def test_neighbourhood(self):
35     #    res = self.run_sanitizer_on('address',neighbourhood='8丁目')
36     #    assert res == [('8','place')]
37     def test_neighbourhood(self):
38         res = self.run_sanitizer_on('address', neighbourhood='8')
39         assert res == [('8','place')]
40     def test_quarter(self):
41         res = self.run_sanitizer_on('address', quarter='kase')
42         assert res==[('kase','place')]
43
44     def test_housenumber_blocknumber(self):
45         res = self.run_sanitizer_on('address', housenumber='2', block_number='6')
46         assert res == [('6-2','housenumber')]
47
48     def test_housenumber_blocknumber(self):
49         res = self.run_sanitizer_on('address', housenumber='2', neighbourhood='8')
50         assert res == [('2','housenumber'),('8','place')]
51
52     def test_housenumber_blocknumber(self):
53         res = self.run_sanitizer_on('address', block_number='6', neighbourhood='8')
54         assert res == [('6','housenumber'),('8','place')]
55
56     def test_housenumber_blocknumber_neighbourhood(self):
57         res = self.run_sanitizer_on('address', housenumber='2', block_number='6', neighbourhood='8')
58         assert res == [('6-2','housenumber'),('8','place')]
59
60     def test_housenumber_blocknumber_neighbourhood_quarter(self):
61         res = self.run_sanitizer_on('address', housenumber='2', block_number='6', neighbourhood='8',quarter='kase')
62         assert res == [('6-2','housenumber'),('kase8','place')]
63     def test_neighbourhood_quarter(self):
64         res = self.run_sanitizer_on('address', neighbourhood='8',quarter='kase')
65         assert res == [('kase8','place')]