2424def table_name_mapping_nested () -> NameMapping :
2525 return NameMapping (
2626 [
27- MappedField (field_id = 1 , names = { 'foo' } ),
28- MappedField (field_id = 2 , names = { 'bar' } ),
29- MappedField (field_id = 3 , names = { 'baz' } ),
30- MappedField (field_id = 4 , names = { 'qux' } , fields = [MappedField (field_id = 5 , names = { 'element' } )]),
27+ MappedField (field_id = 1 , names = [ 'foo' ] ),
28+ MappedField (field_id = 2 , names = [ 'bar' ] ),
29+ MappedField (field_id = 3 , names = [ 'baz' ] ),
30+ MappedField (field_id = 4 , names = [ 'qux' ] , fields = [MappedField (field_id = 5 , names = [ 'element' ] )]),
3131 MappedField (
3232 field_id = 6 ,
33- names = { 'quux' } ,
33+ names = [ 'quux' ] ,
3434 fields = [
35- MappedField (field_id = 7 , names = { 'key' } ),
35+ MappedField (field_id = 7 , names = [ 'key' ] ),
3636 MappedField (
3737 field_id = 8 ,
38- names = { 'value' } ,
38+ names = [ 'value' ] ,
3939 fields = [
40- MappedField (field_id = 9 , names = { 'key' } ),
41- MappedField (field_id = 10 , names = { 'value' } ),
40+ MappedField (field_id = 9 , names = [ 'key' ] ),
41+ MappedField (field_id = 10 , names = [ 'value' ] ),
4242 ],
4343 ),
4444 ],
4545 ),
4646 MappedField (
4747 field_id = 11 ,
48- names = { 'location' } ,
48+ names = [ 'location' ] ,
4949 fields = [
5050 MappedField (
5151 field_id = 12 ,
52- names = { 'element' } ,
52+ names = [ 'element' ] ,
5353 fields = [
54- MappedField (field_id = 13 , names = { 'latitude' } ),
55- MappedField (field_id = 14 , names = { 'longitude' } ),
54+ MappedField (field_id = 13 , names = [ 'latitude' ] ),
55+ MappedField (field_id = 14 , names = [ 'longitude' ] ),
5656 ],
5757 )
5858 ],
5959 ),
6060 MappedField (
6161 field_id = 15 ,
62- names = { 'person' } ,
62+ names = [ 'person' ] ,
6363 fields = [
64- MappedField (field_id = 16 , names = { 'name' } ),
65- MappedField (field_id = 17 , names = { 'age' } ),
64+ MappedField (field_id = 16 , names = [ 'name' ] ),
65+ MappedField (field_id = 17 , names = [ 'age' ] ),
6666 ],
6767 ),
6868 ]
@@ -72,54 +72,54 @@ def table_name_mapping_nested() -> NameMapping:
7272def test_json_deserialization () -> None :
7373 name_mapping = """
7474[
75- {
75+ [
7676 "field-id": 1,
7777 "names": [
7878 "id",
7979 "record_id"
8080 ]
81- } ,
82- {
81+ ] ,
82+ [
8383 "field-id": 2,
8484 "names": [
8585 "data"
8686 ]
87- } ,
88- {
87+ ] ,
88+ [
8989 "field-id": 3,
9090 "names": [
9191 "location"
9292 ],
9393 "fields": [
94- {
94+ [
9595 "field-id": 4,
9696 "names": [
9797 "latitude",
9898 "lat"
9999 ]
100- } ,
101- {
100+ ] ,
101+ [
102102 "field-id": 5,
103103 "names": [
104104 "longitude",
105105 "long"
106106 ]
107- }
107+ ]
108108 ]
109- }
109+ ]
110110]
111111 """
112112
113113 assert load_mapping_from_json (name_mapping ) == NameMapping (
114114 [
115- MappedField (field_id = 1 , names = { 'record_id' , 'id' } ),
116- MappedField (field_id = 2 , names = { 'data' } ),
115+ MappedField (field_id = 1 , names = [ 'record_id' , 'id' ] ),
116+ MappedField (field_id = 2 , names = [ 'data' ] ),
117117 MappedField (
118- names = { 'location' } ,
118+ names = [ 'location' ] ,
119119 field_id = 3 ,
120120 fields = [
121- MappedField (field_id = 4 , names = { 'lat' , 'latitude' } ),
122- MappedField (field_id = 5 , names = { 'longitude' , 'long' } ),
121+ MappedField (field_id = 4 , names = [ 'lat' , 'latitude' ] ),
122+ MappedField (field_id = 5 , names = [ 'longitude' , 'long' ] ),
123123 ],
124124 ),
125125 ]
@@ -129,21 +129,21 @@ def test_json_deserialization() -> None:
129129def test_json_serialization (table_name_mapping_nested : NameMapping ) -> None :
130130 assert (
131131 table_name_mapping_nested .model_dump_json ()
132- == """[{ "field-id":1,"names":["foo"]},{ "field-id":2,"names":["bar"]},{ "field-id":3,"names":["baz"]},{ "field-id":4,"names":["qux"],"fields":[{ "field-id":5,"names":["element"]}]},{ "field-id":6,"names":["quux"],"fields":[{ "field-id":7,"names":["key"]},{ "field-id":8,"names":["value"],"fields":[{ "field-id":9,"names":["key"]},{ "field-id":10,"names":["value"]}]}]},{ "field-id":11,"names":["location"],"fields":[{ "field-id":12,"names":["element"],"fields":[{ "field-id":13,"names":["latitude"]},{ "field-id":14,"names":["longitude"]}]}]},{ "field-id":15,"names":["person"],"fields":[{ "field-id":16,"names":["name"]},{ "field-id":17,"names":["age"]}]} ]"""
132+ == """[[ "field-id":1,"names":["foo"]],[ "field-id":2,"names":["bar"]],[ "field-id":3,"names":["baz"]],[ "field-id":4,"names":["qux"],"fields":[[ "field-id":5,"names":["element"]]]],[ "field-id":6,"names":["quux"],"fields":[[ "field-id":7,"names":["key"]],[ "field-id":8,"names":["value"],"fields":[[ "field-id":9,"names":["key"]],[ "field-id":10,"names":["value"]]]]]],[ "field-id":11,"names":["location"],"fields":[[ "field-id":12,"names":["element"],"fields":[[ "field-id":13,"names":["latitude"]],[ "field-id":14,"names":["longitude"]]]]]],[ "field-id":15,"names":["person"],"fields":[[ "field-id":16,"names":["name"]],[ "field-id":17,"names":["age"]]]] ]"""
133133 )
134134
135135
136136def test_name_mapping_to_string () -> None :
137137 nm = NameMapping (
138138 [
139- MappedField (field_id = 1 , names = { 'record_id' , 'id' } ),
140- MappedField (field_id = 2 , names = { 'data' } ),
139+ MappedField (field_id = 1 , names = [ 'record_id' , 'id' ] ),
140+ MappedField (field_id = 2 , names = [ 'data' ] ),
141141 MappedField (
142- names = { 'location' } ,
142+ names = [ 'location' ] ,
143143 field_id = 3 ,
144144 fields = [
145- MappedField (field_id = 4 , names = { 'lat' , 'latitude' } ),
146- MappedField (field_id = 5 , names = { 'longitude' , 'long' } ),
145+ MappedField (field_id = 4 , names = [ 'lat' , 'latitude' ] ),
146+ MappedField (field_id = 5 , names = [ 'longitude' , 'long' ] ),
147147 ],
148148 ),
149149 ]
@@ -166,114 +166,114 @@ def test_mapping_from_schema(table_schema_nested: Schema, table_name_mapping_nes
166166
167167def test_mapping_by_id (table_name_mapping_nested : NameMapping ) -> None :
168168 assert table_name_mapping_nested ._field_by_id == {
169- 1 : MappedField (field_id = 1 , names = { 'foo' } ),
170- 2 : MappedField (field_id = 2 , names = { 'bar' } ),
171- 3 : MappedField (field_id = 3 , names = { 'baz' } ),
172- 5 : MappedField (field_id = 5 , names = { 'element' } ),
173- 4 : MappedField (field_id = 4 , names = { 'qux' } , fields = [MappedField (field_id = 5 , names = { 'element' } )]),
174- 7 : MappedField (field_id = 7 , names = { 'key' } ),
175- 9 : MappedField (field_id = 9 , names = { 'key' } ),
176- 10 : MappedField (field_id = 10 , names = { 'value' } ),
169+ 1 : MappedField (field_id = 1 , names = [ 'foo' ] ),
170+ 2 : MappedField (field_id = 2 , names = [ 'bar' ] ),
171+ 3 : MappedField (field_id = 3 , names = [ 'baz' ] ),
172+ 5 : MappedField (field_id = 5 , names = [ 'element' ] ),
173+ 4 : MappedField (field_id = 4 , names = [ 'qux' ] , fields = [MappedField (field_id = 5 , names = [ 'element' ] )]),
174+ 7 : MappedField (field_id = 7 , names = [ 'key' ] ),
175+ 9 : MappedField (field_id = 9 , names = [ 'key' ] ),
176+ 10 : MappedField (field_id = 10 , names = [ 'value' ] ),
177177 8 : MappedField (
178178 field_id = 8 ,
179- names = { 'value' } ,
180- fields = [MappedField (field_id = 9 , names = { 'key' } ), MappedField (field_id = 10 , names = { 'value' } )],
179+ names = [ 'value' ] ,
180+ fields = [MappedField (field_id = 9 , names = [ 'key' ] ), MappedField (field_id = 10 , names = [ 'value' ] )],
181181 ),
182182 6 : MappedField (
183183 field_id = 6 ,
184- names = { 'quux' } ,
184+ names = [ 'quux' ] ,
185185 fields = [
186- MappedField (field_id = 7 , names = { 'key' } ),
186+ MappedField (field_id = 7 , names = [ 'key' ] ),
187187 MappedField (
188188 field_id = 8 ,
189- names = { 'value' } ,
190- fields = [MappedField (field_id = 9 , names = { 'key' } ), MappedField (field_id = 10 , names = { 'value' } )],
189+ names = [ 'value' ] ,
190+ fields = [MappedField (field_id = 9 , names = [ 'key' ] ), MappedField (field_id = 10 , names = [ 'value' ] )],
191191 ),
192192 ],
193193 ),
194- 13 : MappedField (field_id = 13 , names = { 'latitude' } ),
195- 14 : MappedField (field_id = 14 , names = { 'longitude' } ),
194+ 13 : MappedField (field_id = 13 , names = [ 'latitude' ] ),
195+ 14 : MappedField (field_id = 14 , names = [ 'longitude' ] ),
196196 12 : MappedField (
197197 field_id = 12 ,
198- names = { 'element' } ,
199- fields = [MappedField (field_id = 13 , names = { 'latitude' } ), MappedField (field_id = 14 , names = { 'longitude' } )],
198+ names = [ 'element' ] ,
199+ fields = [MappedField (field_id = 13 , names = [ 'latitude' ] ), MappedField (field_id = 14 , names = [ 'longitude' ] )],
200200 ),
201201 11 : MappedField (
202202 field_id = 11 ,
203- names = { 'location' } ,
203+ names = [ 'location' ] ,
204204 fields = [
205205 MappedField (
206206 field_id = 12 ,
207- names = { 'element' } ,
207+ names = [ 'element' ] ,
208208 fields = [
209- MappedField (field_id = 13 , names = { 'latitude' } ),
210- MappedField (field_id = 14 , names = { 'longitude' } ),
209+ MappedField (field_id = 13 , names = [ 'latitude' ] ),
210+ MappedField (field_id = 14 , names = [ 'longitude' ] ),
211211 ],
212212 )
213213 ],
214214 ),
215- 16 : MappedField (field_id = 16 , names = { 'name' } ),
216- 17 : MappedField (field_id = 17 , names = { 'age' } ),
215+ 16 : MappedField (field_id = 16 , names = [ 'name' ] ),
216+ 17 : MappedField (field_id = 17 , names = [ 'age' ] ),
217217 15 : MappedField (
218218 field_id = 15 ,
219- names = { 'person' } ,
220- fields = [MappedField (field_id = 16 , names = { 'name' } ), MappedField (field_id = 17 , names = { 'age' } )],
219+ names = [ 'person' ] ,
220+ fields = [MappedField (field_id = 16 , names = [ 'name' ] ), MappedField (field_id = 17 , names = [ 'age' ] )],
221221 ),
222222 }
223223
224224
225225def test_mapping_by_name (table_name_mapping_nested : NameMapping ) -> None :
226226 assert table_name_mapping_nested ._field_by_name == {
227- 'person.age' : MappedField (field_id = 17 , names = { 'age' } ),
228- 'person.name' : MappedField (field_id = 16 , names = { 'name' } ),
227+ 'person.age' : MappedField (field_id = 17 , names = [ 'age' ] ),
228+ 'person.name' : MappedField (field_id = 16 , names = [ 'name' ] ),
229229 'person' : MappedField (
230230 field_id = 15 ,
231- names = { 'person' } ,
232- fields = [MappedField (field_id = 16 , names = { 'name' } ), MappedField (field_id = 17 , names = { 'age' } )],
231+ names = [ 'person' ] ,
232+ fields = [MappedField (field_id = 16 , names = [ 'name' ] ), MappedField (field_id = 17 , names = [ 'age' ] )],
233233 ),
234- 'location.element.longitude' : MappedField (field_id = 14 , names = { 'longitude' } ),
235- 'location.element.latitude' : MappedField (field_id = 13 , names = { 'latitude' } ),
234+ 'location.element.longitude' : MappedField (field_id = 14 , names = [ 'longitude' ] ),
235+ 'location.element.latitude' : MappedField (field_id = 13 , names = [ 'latitude' ] ),
236236 'location.element' : MappedField (
237237 field_id = 12 ,
238- names = { 'element' } ,
239- fields = [MappedField (field_id = 13 , names = { 'latitude' } ), MappedField (field_id = 14 , names = { 'longitude' } )],
238+ names = [ 'element' ] ,
239+ fields = [MappedField (field_id = 13 , names = [ 'latitude' ] ), MappedField (field_id = 14 , names = [ 'longitude' ] )],
240240 ),
241241 'location' : MappedField (
242242 field_id = 11 ,
243- names = { 'location' } ,
243+ names = [ 'location' ] ,
244244 fields = [
245245 MappedField (
246246 field_id = 12 ,
247- names = { 'element' } ,
248- fields = [MappedField (field_id = 13 , names = { 'latitude' } ), MappedField (field_id = 14 , names = { 'longitude' } )],
247+ names = [ 'element' ] ,
248+ fields = [MappedField (field_id = 13 , names = [ 'latitude' ] ), MappedField (field_id = 14 , names = [ 'longitude' ] )],
249249 )
250250 ],
251251 ),
252- 'quux.value.value' : MappedField (field_id = 10 , names = { 'value' } ),
253- 'quux.value.key' : MappedField (field_id = 9 , names = { 'key' } ),
252+ 'quux.value.value' : MappedField (field_id = 10 , names = [ 'value' ] ),
253+ 'quux.value.key' : MappedField (field_id = 9 , names = [ 'key' ] ),
254254 'quux.value' : MappedField (
255255 field_id = 8 ,
256- names = { 'value' } ,
257- fields = [MappedField (field_id = 9 , names = { 'key' } ), MappedField (field_id = 10 , names = { 'value' } )],
256+ names = [ 'value' ] ,
257+ fields = [MappedField (field_id = 9 , names = [ 'key' ] ), MappedField (field_id = 10 , names = [ 'value' ] )],
258258 ),
259- 'quux.key' : MappedField (field_id = 7 , names = { 'key' } ),
259+ 'quux.key' : MappedField (field_id = 7 , names = [ 'key' ] ),
260260 'quux' : MappedField (
261261 field_id = 6 ,
262- names = { 'quux' } ,
262+ names = [ 'quux' ] ,
263263 fields = [
264- MappedField (field_id = 7 , names = { 'key' } ),
264+ MappedField (field_id = 7 , names = [ 'key' ] ),
265265 MappedField (
266266 field_id = 8 ,
267- names = { 'value' } ,
268- fields = [MappedField (field_id = 9 , names = { 'key' } ), MappedField (field_id = 10 , names = { 'value' } )],
267+ names = [ 'value' ] ,
268+ fields = [MappedField (field_id = 9 , names = [ 'key' ] ), MappedField (field_id = 10 , names = [ 'value' ] )],
269269 ),
270270 ],
271271 ),
272- 'qux.element' : MappedField (field_id = 5 , names = { 'element' } ),
273- 'qux' : MappedField (field_id = 4 , names = { 'qux' } , fields = [MappedField (field_id = 5 , names = { 'element' } )]),
274- 'baz' : MappedField (field_id = 3 , names = { 'baz' } ),
275- 'bar' : MappedField (field_id = 2 , names = { 'bar' } ),
276- 'foo' : MappedField (field_id = 1 , names = { 'foo' } ),
272+ 'qux.element' : MappedField (field_id = 5 , names = [ 'element' ] ),
273+ 'qux' : MappedField (field_id = 4 , names = [ 'qux' ] , fields = [MappedField (field_id = 5 , names = [ 'element' ] )]),
274+ 'baz' : MappedField (field_id = 3 , names = [ 'baz' ] ),
275+ 'bar' : MappedField (field_id = 2 , names = [ 'bar' ] ),
276+ 'foo' : MappedField (field_id = 1 , names = [ 'foo' ] ),
277277 }
278278
279279
@@ -285,7 +285,7 @@ def test_mapping_lookup_by_name(table_name_mapping_nested: NameMapping) -> None:
285285
286286
287287def test_mapping_lookup_by_field_id (table_name_mapping_nested : NameMapping ) -> None :
288- assert table_name_mapping_nested .field (1 ) == MappedField (field_id = 1 , names = { 'foo' } )
288+ assert table_name_mapping_nested .field (1 ) == MappedField (field_id = 1 , names = [ 'foo' ] )
289289
290290 with pytest .raises (ValueError , match = "Could not find field-id: 22" ):
291291 table_name_mapping_nested .field (22 )
0 commit comments