@@ -29,10 +29,38 @@ def test_empty_str():
29
29
assert str (AABBTree ()) == empty_str
30
30
31
31
32
+ def test_str_str ():
33
+ aabb = standard_aabbs ()[0 ]
34
+ value = 7
35
+ leaf = AABBTree (aabb )
36
+ tree = AABBTree (aabb = aabb , value = value , left = leaf , right = leaf )
37
+ fmt = 'AABB: {}\n Value: {}\n Left:\n {}\n Right:\n {}'
38
+ assert str (tree ) == fmt .format (str (aabb ), str (value ), leaf .__str__ (1 ),
39
+ leaf .__str__ (1 ))
40
+
41
+
32
42
def test_empty_repr ():
33
43
assert repr (AABBTree ()) == 'AABBTree()'
34
44
35
45
46
+ def test_leaf_repr ():
47
+ aabb = standard_aabbs ()[0 ]
48
+ tree = AABBTree ()
49
+ tree .add (aabb )
50
+ assert repr (tree ) == 'AABBTree(aabb={})' .format (repr (aabb ))
51
+
52
+
53
+ def test_str_repr ():
54
+ aabb = 'a'
55
+ value = 'v'
56
+ left = 'left'
57
+ right = 'right'
58
+ tree = AABBTree (aabb = aabb , value = value , left = left , right = right )
59
+ fmt = 'AABBTree(aabb={}, value={}, left={}, right={})'
60
+ assert repr (tree ) == fmt .format (repr (aabb ), repr (value ), repr (left ),
61
+ repr (right ))
62
+
63
+
36
64
def test_eq ():
37
65
tree = AABBTree ()
38
66
tree .add (AABB ([(2 , 3 )]))
@@ -144,6 +172,14 @@ def test_does_overlap():
144
172
assert not not_tree .does_overlap (tree , method = m )
145
173
146
174
175
+ def test_does_overlap_error ():
176
+ method = - 1
177
+ aabbs = standard_aabbs ()
178
+ tree = standard_tree ()
179
+ with pytest .raises (ValueError ):
180
+ tree .does_overlap (aabbs [0 ], method = method )
181
+
182
+
147
183
def test_overlap_aabbs ():
148
184
aabbs = standard_aabbs ()
149
185
values = ['value 1' , 3.14 , None , None ]
@@ -179,6 +215,14 @@ def test_overlap_aabbs():
179
215
assert AABBTree (aabb5 ).overlap_aabbs (aabb7 , method = m ) == []
180
216
181
217
218
+ def test_overlap_aabbs_error ():
219
+ method = - 1
220
+ aabbs = standard_aabbs ()
221
+ tree = standard_tree ()
222
+ with pytest .raises (ValueError ):
223
+ tree .overlap_aabbs (aabbs [0 ], method = method )
224
+
225
+
182
226
def test_overlap_values ():
183
227
aabbs = standard_aabbs ()
184
228
values = ['value 1' , 3.14 , None , None ]
@@ -205,6 +249,19 @@ def test_overlap_values():
205
249
assert AABBTree (aabb5 ).overlap_values (aabb7 , method = m ) == []
206
250
207
251
252
+ def test_overlap_values_error ():
253
+ method = - 1
254
+ aabbs = standard_aabbs ()
255
+ tree = standard_tree ()
256
+ with pytest .raises (ValueError ):
257
+ tree .overlap_values (aabbs [0 ], method = method )
258
+
259
+
260
+ def test_depth ():
261
+ assert AABBTree ().depth == 0
262
+ assert standard_tree ().depth == 2
263
+
264
+
208
265
def standard_aabbs ():
209
266
aabb1 = AABB ([(0 , 1 ), (0 , 1 )])
210
267
aabb2 = AABB ([(3 , 4 ), (0 , 1 )])
0 commit comments