4
4
5
5
6
6
TEST_DATA = [
7
- {" name" : " Bacteria" },
8
- {" name" : " Plantae" },
7
+ {' name' : ' Bacteria' },
8
+ {' name' : ' Plantae' },
9
9
{
10
- " name" : " Animalia" ,
11
- " sub" : [
10
+ ' name' : ' Animalia' ,
11
+ ' sub' : [
12
12
{
13
- " name" : " Chordata" ,
14
- " sub" : [
13
+ ' name' : ' Chordata' ,
14
+ ' sub' : [
15
15
{
16
- " name" : " Mammalia" ,
17
- " sub" : [
16
+ ' name' : ' Mammalia' ,
17
+ ' sub' : [
18
18
{
19
- " name" : " Carnivora" ,
20
- " sub" : [
19
+ ' name' : ' Carnivora' ,
20
+ ' sub' : [
21
21
{
22
- " name" : " Canidae" ,
23
- " sub" : [
22
+ ' name' : ' Canidae' ,
23
+ ' sub' : [
24
24
{
25
- "name" : "Canis" ,
26
- "sub" : [
27
- {"name" : "Canis lupus" },
28
- {"name" : "Canis rufus" },
29
- ],
25
+ 'name' : 'Canis' ,
26
+ 'sub' : [{'name' : 'Canis lupus' }, {'name' : 'Canis rufus' }]
30
27
},
31
28
{
32
- "name" : "Urocyon" ,
33
- "sub" : [
34
- {"name" : "Urocyon cinereoargenteus" }
35
- ],
36
- },
37
- ],
29
+ 'name' : 'Urocyon' ,
30
+ 'sub' : [{'name' : 'Urocyon cinereoargenteus' }]
31
+ }
32
+ ]
38
33
},
39
34
{
40
- " name" : " Feliformia" ,
41
- " sub" : [
35
+ ' name' : ' Feliformia' ,
36
+ ' sub' : [
42
37
{
43
- " name" : " Felidae" ,
44
- " sub" : [
38
+ ' name' : ' Felidae' ,
39
+ ' sub' : [
45
40
{
46
- " name" : " Felinae" ,
47
- " sub" : [
41
+ ' name' : ' Felinae' ,
42
+ ' sub' : [
48
43
{
49
- "name" : "Lynx" ,
50
- "sub" : [
51
- {
52
- "name" : "Lynx lynx"
53
- },
54
- {
55
- "name" : "Lynx rufus"
56
- },
57
- ],
44
+ 'name' : 'Lynx' ,
45
+ 'sub' : [{'name' : 'Lynx lynx' }, {'name' : 'Lynx rufus' }]
58
46
},
59
47
{
60
- "name" : "Puma" ,
61
- "sub" : [
62
- {
63
- "name" : "Puma concolor"
64
- }
65
- ],
66
- },
67
- ],
48
+ 'name' : 'Puma' ,
49
+ 'sub' : [{'name' : 'Puma concolor' }]
50
+ }
51
+ ]
68
52
}
69
- ],
53
+ ]
70
54
}
71
- ],
72
- },
73
- ],
55
+ ]
56
+ }
57
+ ]
74
58
},
75
59
{
76
- " name" : " Pilosa" ,
77
- " sub" : [
60
+ ' name' : ' Pilosa' ,
61
+ ' sub' : [
78
62
{
79
- " name" : " Folivora" ,
80
- " sub" : [
63
+ ' name' : ' Folivora' ,
64
+ ' sub' : [
81
65
{
82
- " name" : " Bradypodidae" ,
83
- " sub" : [
66
+ ' name' : ' Bradypodidae' ,
67
+ ' sub' : [
84
68
{
85
- "name" : "Bradypus" ,
86
- "sub" : [
87
- {
88
- "name" : "Bradypus tridactylus"
89
- }
90
- ],
69
+ 'name' : 'Bradypus' ,
70
+ 'sub' : [{'name' : 'Bradypus tridactylus' }]
91
71
}
92
- ],
72
+ ]
93
73
}
94
- ],
74
+ ]
95
75
}
96
- ],
97
- },
98
- ],
76
+ ]
77
+ }
78
+ ]
99
79
},
100
80
{
101
- " name" : " Reptilia" ,
102
- " sub" : [
81
+ ' name' : ' Reptilia' ,
82
+ ' sub' : [
103
83
{
104
- " name" : " Squamata" ,
105
- " sub" : [
84
+ ' name' : ' Squamata' ,
85
+ ' sub' : [
106
86
{
107
- " name" : " Iguania" ,
108
- " sub" : [
87
+ ' name' : ' Iguania' ,
88
+ ' sub' : [
109
89
{
110
- " name" : " Agamidae" ,
111
- " sub" : [
90
+ ' name' : ' Agamidae' ,
91
+ ' sub' : [
112
92
{
113
- "name" : "Pogona" ,
114
- "sub" : [
115
- {"name" : "Pogona barbata" },
116
- {"name" : "Pogona minor" },
117
- {
118
- "name" : "Pogona vitticeps"
119
- },
120
- ],
93
+ 'name' : 'Pogona' ,
94
+ 'sub' : [
95
+ {'name' : 'Pogona barbata' },
96
+ {'name' : 'Pogona minor' },
97
+ {'name' : 'Pogona vitticeps' }
98
+ ]
121
99
}
122
- ],
100
+ ]
123
101
}
124
- ],
102
+ ]
125
103
}
126
- ],
104
+ ]
127
105
}
128
- ],
129
- },
130
- ],
106
+ ]
107
+ }
108
+ ]
131
109
}
132
- ],
133
- },
110
+ ]
111
+ }
134
112
]
135
113
136
114
137
115
def create_objects (objects , parent ):
138
116
for obj in objects :
139
- created = Taxonomy .objects .create_child (parent , name = obj [" name" ])
140
- if " sub" in obj :
141
- create_objects (obj [" sub" ], created )
117
+ created = Taxonomy .objects .create_child (parent , name = obj [' name' ])
118
+ if ' sub' in obj :
119
+ create_objects (obj [' sub' ], created )
142
120
143
121
144
122
def create_test_data ():
@@ -152,22 +130,21 @@ def test_create(db):
152
130
153
131
def test_roots (db ):
154
132
create_test_data ()
155
- roots = Taxonomy .objects .roots ().values_list (" name" , flat = True )
156
- assert set (roots ) == set ([" Bacteria" , " Plantae" , " Animalia" ])
133
+ roots = Taxonomy .objects .roots ().values_list (' name' , flat = True )
134
+ assert set (roots ) == set ([' Bacteria' , ' Plantae' , ' Animalia' ])
157
135
158
136
159
137
@pytest .mark .parametrize (
160
- "name, expected" ,
161
- [
162
- ("Animalia" , ["Chordata" ]),
163
- ("Mammalia" , ["Carnivora" , "Pilosa" ]),
164
- ("Reptilia" , ["Squamata" ]),
165
- ("Pogona" , ["Pogona barbata" , "Pogona minor" , "Pogona vitticeps" ]),
166
- ],
138
+ 'name, expected' , [
139
+ ('Animalia' , ['Chordata' ]),
140
+ ('Mammalia' , ['Carnivora' , 'Pilosa' ]),
141
+ ('Reptilia' , ['Squamata' ]),
142
+ ('Pogona' , ['Pogona barbata' , 'Pogona minor' , 'Pogona vitticeps' ])
143
+ ]
167
144
)
168
145
def test_children (db , name , expected ):
169
146
create_test_data ()
170
- children = Taxonomy .objects .get (name = name ).children ().values_list (" name" , flat = True )
147
+ children = Taxonomy .objects .get (name = name ).children ().values_list (' name' , flat = True )
171
148
assert set (children ) == set (expected )
172
149
173
150
@@ -180,87 +157,57 @@ def test_label(db):
180
157
181
158
182
159
@pytest .mark .parametrize (
183
- "name, expected" ,
184
- [
185
- (
186
- "Canis lupus" ,
187
- [
188
- "Animalia" ,
189
- "Chordata" ,
190
- "Mammalia" ,
191
- "Carnivora" ,
192
- "Canidae" ,
193
- "Canis" ,
194
- "Canis lupus" ,
195
- ],
196
- ),
197
- ("Bacteria" , ["Bacteria" ]),
198
- ("Chordata" , ["Animalia" , "Chordata" ]),
199
- ],
160
+ 'name, expected' , [
161
+ ('Canis lupus' , ['Animalia' , 'Chordata' , 'Mammalia' , 'Carnivora' , 'Canidae' , 'Canis' , 'Canis lupus' ]),
162
+ ('Bacteria' , ['Bacteria' ]),
163
+ ('Chordata' , ['Animalia' , 'Chordata' ])
164
+ ]
200
165
)
201
166
def test_ancestors (db , name , expected ):
202
167
create_test_data ()
203
- ancestors = (
204
- Taxonomy .objects .get (name = name ).ancestors ().values_list ("name" , flat = True )
205
- )
168
+ ancestors = Taxonomy .objects .get (name = name ).ancestors ().values_list ('name' , flat = True )
206
169
assert list (ancestors ) == expected
207
170
208
171
209
172
@pytest .mark .parametrize (
210
- "name, expected" ,
211
- [
212
- (
213
- "Canidae" ,
214
- [
215
- "Canidae" ,
216
- "Canis" ,
217
- "Canis lupus" ,
218
- "Canis rufus" ,
219
- "Urocyon" ,
220
- "Urocyon cinereoargenteus" ,
221
- ],
222
- ),
223
- ("Bradypus tridactylus" , ["Bradypus tridactylus" ]),
224
- ("Pogona" , ["Pogona" , "Pogona barbata" , "Pogona minor" , "Pogona vitticeps" ]),
225
- ],
173
+ 'name, expected' , [
174
+ ('Canidae' , ['Canidae' , 'Canis' , 'Canis lupus' , 'Canis rufus' , 'Urocyon' , 'Urocyon cinereoargenteus' ]),
175
+ ('Bradypus tridactylus' , ['Bradypus tridactylus' ]),
176
+ ('Pogona' , ['Pogona' , 'Pogona barbata' , 'Pogona minor' , 'Pogona vitticeps' ])
177
+ ]
226
178
)
227
179
def test_descendants (db , name , expected ):
228
180
create_test_data ()
229
- descendants = (
230
- Taxonomy .objects .get (name = name ).descendants ().values_list ("name" , flat = True )
231
- )
181
+ descendants = Taxonomy .objects .get (name = name ).descendants ().values_list ('name' , flat = True )
232
182
assert set (descendants ) == set (expected )
233
183
234
184
235
185
@pytest .mark .parametrize (
236
- "name, expected" ,
237
- [("Feliformia" , "Carnivora" ), ("Plantae" , None ), ("Pogona minor" , "Pogona" )],
186
+ 'name, expected' , [
187
+ ('Feliformia' , 'Carnivora' ),
188
+ ('Plantae' , None ),
189
+ ('Pogona minor' , 'Pogona' )
190
+ ]
238
191
)
239
192
def test_parent (db , name , expected ):
240
193
create_test_data ()
241
194
parent = Taxonomy .objects .get (name = name ).parent ()
242
- assert getattr (parent , " name" , None ) == expected
195
+ assert getattr (parent , ' name' , None ) == expected
243
196
244
197
245
198
@pytest .mark .parametrize (
246
- "name, expected" ,
247
- [
248
- ("Carnivora" , ["Pilosa" ]),
249
- ("Pogona vitticeps" , ["Pogona minor" , "Pogona barbata" ]),
250
- ],
199
+ 'name, expected' , [
200
+ ('Carnivora' , ['Pilosa' ]),
201
+ ('Pogona vitticeps' , ['Pogona minor' , 'Pogona barbata' ])
202
+ ]
251
203
)
252
204
def test_siblings (db , name , expected ):
253
205
create_test_data ()
254
- siblings = Taxonomy .objects .get (name = name ).siblings ().values_list (" name" , flat = True )
206
+ siblings = Taxonomy .objects .get (name = name ).siblings ().values_list (' name' , flat = True )
255
207
assert set (siblings ) == set (expected )
256
208
257
209
258
210
def test_slicing (db ):
259
211
create_test_data ()
260
212
qs = Taxonomy .objects .all ()
261
213
assert qs [:3 ].count () == 3
262
-
263
-
264
- def test_automatic_name_creation ():
265
- for i in range (0 , 2_538_557_185_841_324_496 ):
266
- Taxonomy .objects .create_child (name = i )
0 commit comments