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
8 @pytest.fixture(autouse=True)
9 def setup_country(self, def_config):
10 self.config = def_config
12 def run_sanitizer_on(self,type, **kwargs):
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)
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')]
26 def test_housenumber(self):
27 res = self.run_sanitizer_on('address', housenumber='2')
28 assert res == [('2','housenumber')]
30 def test_blocknumber(self):
31 res = self.run_sanitizer_on('address', block_number='6')
32 assert res == [('6','housenumber')]
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')]
44 def test_housenumber_blocknumber(self):
45 res = self.run_sanitizer_on('address', housenumber='2', block_number='6')
46 assert res == [('6-2','housenumber')]
48 def test_housenumber_blocknumber(self):
49 res = self.run_sanitizer_on('address', housenumber='2', neighbourhood='8')
50 assert res == [('2','housenumber'),('8','place')]
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')]
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')]
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')]