2 # -*- coding: utf-8 -*-
14 notagswaymap
= [{u
'type': u
'way', u
'data': {u
'id': 1, u
'tag': {}}}]
15 notagsnodemap
= [{u
'type': u
'node', u
'data': {u
'id': 1, u
'tag': {}}}]
17 simplemaps
= [emptymap
, notagsnodemap
, notagswaymap
]
20 # mostly for do_correct_names
21 nametagwaymap
= [{u
'type': u
'way', u
'data': {u
'id': 1, u
'tag': {u
'name':u
'Alea Prunului'}}}]
24 {u
'id': 1, u
'tag': {u
'name':u
'Aleea Prunului'}}
28 # TODO: check why unicodes don't work properly
29 #sametagwaymap = [{u'type': u'way', u'data': {u'id': 1, u'tag': {u'name': u'Fundătura Prunului'}}}]
30 sametagwaymap
= [{u
'type': u
'way', u
'data': {u
'id': 1, u
'tag': {u
'name': u
'Fundacul Prunului'}}}]
33 strtagwaymap
= [{u
'type': u
'way', u
'data': {u
'id': 1, u
'tag': {u
'name':u
'St. Prunului'}}}]
36 {u
'id': 1, u
'tag': {u
'name':u
'Strada Prunului'}}
41 # mostly for do_eref2int
44 u
'data': {u
'id': 1, u
'tag': {u
'ref':u
'e 80'}}
49 u
'data': {u
'id': 1, u
'tag': {u
'int_ref':u
'E80'}},
50 'oldrecs': {u
'ref': u
'e 80', u
'int_ref': u
''},
51 'newrecs': {u
'ref': u
'' , u
'int_ref': u
'E80'}
57 u
'data': {u
'id': 2, u
'tag': {u
'ref': u
'e 80', u
'int_ref':u
'E80'}}
62 u
'data': {u
'id': 2, u
'tag': {u
'int_ref':u
'E80'}},
63 'oldrecs': {u
'ref': u
'e 80', u
'int_ref': u
'E80'},
64 'newrecs': {u
'ref': u
'' , u
'int_ref': u
'E80'}
69 # for do_stdrefs and do_norefsinname
72 u
'data': {u
'id': 1, u
'tag': {u
'ref':u
'DN6', u
'name': 'DN6'}}
77 u
'data' : {u
'id': 1, u
'tag': {u
'ref': u
'DN6'}},
78 'oldrecs': {u
'ref': u
'DN6', u
'name': u
'DN6'},
79 'newrecs': {u
'ref': u
'DN6' }
87 u
'data': {u
'id': 1, u
'tag': {u
'ref':u
'Dn 6', u
'name': 'Dn6'}}
92 u
'data' : {u
'id': 1, u
'tag': {u
'ref': u
'DN6', u
'name': 'Dn6'}},
93 'oldrecs': {u
'ref': u
'Dn 6'},
94 'newrecs': {u
'ref': u
'DN6' }
100 u
'data': {u
'id': 1, u
'tag': {u
'ref':u
'Dn 6; e70', u
'name': 'Dn6'}}
105 u
'data': {u
'id': 1, u
'tag': {u
'ref': u
'DN6;E70', u
'name': 'Dn6'}},
106 'oldrecs': {u
'ref': u
'Dn 6; e70'},
107 'newrecs': {u
'ref': u
'DN6;E70' }
111 # mostly for get_shiftedpat
112 shiftpat
= [{'in':['One ', 1, u
' two ', 2], 'shift':0, 'out': u
'One \\1 two \\2'}]
114 #@pytest.fixture(scope="module")
116 # from OsmUtils import OsmApiExt()
118 #@pytest.fixture(params=simplemaps)
119 #def pytest_funcarg__mapprovider(pos):
120 # return simplemaps[pos]
124 def __init__(self
, exupds
, eltype
):
126 self
.upds
= {eltype
: []}
127 self
.nonempty
= False
129 self
.cursors
= {u
'way': 0, u
'node': 0, u
'relation': 0}
130 if ((len(self
.exupds
.get(u
'way', [])) > 0) or
131 (len(self
.exupds
.get(u
'node', [])) > 0) or
132 (len(self
.exupds
.get(u
'relation', [])) > 0)
137 self
.allExpectedChanges()
140 assert len(self
.upds
.get(u
'way', [])) == 0
141 assert len(self
.upds
.get(u
'node', [])) == 0
142 assert len(self
.upds
.get(u
'relation', [])) == 0
145 def allExpectedChanges(self
):
147 assert self
.exupds
== self
.upds
151 def __elUpdate(self
, updatedel
, extype
):
152 assert self
.eltype
== extype
153 ulist
= self
.upds
[self
.eltype
]
154 cexpect
= self
.exupds
[self
.eltype
][self
.cursors
[extype
]]
155 exid
= cexpect
[u
'id']
156 id = updatedel
[u
'id']
158 raise TypeError, u
"Expected element with id=%d , but found something else" % exid
159 self
.cursors
[extype
] += 1;
160 ulist
.append(updatedel
)
161 assert len(ulist
) == self
.cursors
[extype
]
163 def WayUpdate(self
, updatednode
):
164 self
.__elUpdate
(updatednode
, u
'way')
166 def NodeUpdate(self
, updatednode
):
167 self
.__elUpdate
(updatednode
, u
'node')