-
Notifications
You must be signed in to change notification settings - Fork 64
/
test_set_street_ids_by_street_name.py
108 lines (74 loc) · 3.63 KB
/
test_set_street_ids_by_street_name.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
from geoalchemy2.elements import WKTElement
from osmnames.prepare_data.prepare_housenumbers import set_street_ids_by_street_name
def test_when_street_with_same_parent_id_and_name_exists(session, tables):
session.add(tables.osm_housenumber(id=1, parent_id=1337, normalized_street="haldenweg"))
session.add(tables.osm_linestring(id=2, osm_id=42, parent_id=1337, normalized_name="haldenweg"))
session.commit()
set_street_ids_by_street_name()
assert session.query(tables.osm_housenumber).get(1).street_id == 42
def test_when_street_with_same_parent_id_but_different_name_exists(session, tables):
session.add(tables.osm_housenumber(id=1, parent_id=1337, normalized_street="haldenweg"))
session.add(tables.osm_linestring(id=2, osm_id=42, parent_id=1337, normalized_name="hornstrasse"))
session.commit()
set_street_ids_by_street_name()
assert session.query(tables.osm_housenumber).get(1).street_id is None
def test_when_street_with_same_name_but_different_parent_id_exists(session, tables):
session.add(tables.osm_housenumber(id=1, parent_id=1337, normalized_street="haldenweg"))
session.add(tables.osm_linestring(id=2, osm_id=42, parent_id=9999, normalized_name="haldenweg"))
session.commit()
set_street_ids_by_street_name()
assert session.query(tables.osm_housenumber).get(1).street_id is None
def test_when_merged_street_with_same_parent_id_and_name_exists(session, tables):
session.add(tables.osm_housenumber(id=1, parent_id=1337, normalized_street="haldenweg"))
session.add(tables.osm_linestring(id=2, osm_id=42, merged_into=77, parent_id=1337, normalized_name="haldenweg"))
session.commit()
set_street_ids_by_street_name()
assert session.query(tables.osm_housenumber).get(1).street_id == 77
def test_when_street_with_same_parent_id_but_almost_same_name_exists(session, tables):
session.add(
tables.osm_housenumber(
id=1,
parent_id=1337,
osm_id=88267051,
normalized_street="bochslenrasse",
geometry_center=WKTElement("POINT(653642.999259018 6623211.41263188)", srid=3857)
)
)
session.add(
tables.osm_linestring(
id=2,
osm_id=42,
parent_id=1337,
normalized_name="bochslenstrasse",
geometry=WKTElement("""LINESTRING(653664.707113796
6623110.56066385,653621.291404239
6623312.26459991)""", srid=3857)
)
)
session.commit()
set_street_ids_by_street_name()
assert session.query(tables.osm_housenumber).get(1).street_id == 42
def test_when_housenumber_street_contains_full_street_name(session, tables):
session.add(
tables.osm_housenumber(
id=1,
parent_id=1337,
osm_id=88267051,
normalized_street="citepreville19",
geometry_center=WKTElement("POINT(653642.999259018 6623211.41263188)", srid=3857)
)
)
session.add(
tables.osm_linestring(
id=2,
osm_id=42,
parent_id=1337,
normalized_name="citepreville",
geometry=WKTElement("""LINESTRING(653664.707113796
6623110.56066385,653621.291404239
6623312.26459991)""", srid=3857)
)
)
session.commit()
set_street_ids_by_street_name()
assert session.query(tables.osm_housenumber).get(1).street_id == 42