]> git.openstreetmap.org Git - nominatim.git/blob - test/python/tools/test_sp_importer.py
release 5.1.0.post8
[nominatim.git] / test / python / tools / test_sp_importer.py
1 from nominatim_db.tools.special_phrases.sp_importer import SPImporter
2
3
4 # Testing Database Class Pair Retrival using Conftest.py and placex
5 def test_get_classtype_pair_data(placex_table, def_config, temp_db_conn):
6     for _ in range(101):
7         placex_table.add(cls='highway', typ='motorway')  # edge case 101
8
9     for _ in range(99):
10         placex_table.add(cls='amenity', typ='prison')  # edge case 99
11
12     for _ in range(150):
13         placex_table.add(cls='tourism', typ='hotel')
14
15     importer = SPImporter(config=def_config, conn=temp_db_conn, sp_loader=None)
16
17     result = importer.get_classtype_pairs(min=100)
18
19     expected = {
20         ("highway", "motorway"),
21         ("tourism", "hotel")
22     }
23
24     assert result == expected, f"Expected {expected}, got {result}"
25
26
27 def test_get_classtype_pair_data_more(placex_table, def_config, temp_db_conn):
28     for _ in range(100):
29         placex_table.add(cls='emergency', typ='firehydrant')  # edge case 100, not included
30
31     for _ in range(199):
32         placex_table.add(cls='amenity', typ='prison')
33
34     for _ in range(3478):
35         placex_table.add(cls='tourism', typ='hotel')
36
37     importer = SPImporter(config=def_config, conn=temp_db_conn, sp_loader=None)
38
39     result = importer.get_classtype_pairs(min=100)
40
41     expected = {
42         ("amenity", "prison"),
43         ("tourism", "hotel")
44     }
45
46     assert result == expected, f"Expected {expected}, got {result}"
47
48
49 def test_get_classtype_pair_data_default(placex_table, def_config, temp_db_conn):
50     for _ in range(1):
51         placex_table.add(cls='emergency', typ='firehydrant')
52
53     for _ in range(199):
54         placex_table.add(cls='amenity', typ='prison')
55
56     for _ in range(3478):
57         placex_table.add(cls='tourism', typ='hotel')
58
59     importer = SPImporter(config=def_config, conn=temp_db_conn, sp_loader=None)
60
61     result = importer.get_classtype_pairs()
62
63     expected = {
64         ("amenity", "prison"),
65         ("tourism", "hotel"),
66         ("emergency", "firehydrant")
67     }
68
69     assert result == expected, f"Expected {expected}, got {result}"