Tests: Compare vectors with epsilon
authorSergey Sharybin <sergey.vfx@gmail.com>
Fri, 7 Apr 2017 16:26:39 +0000 (18:26 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Fri, 7 Apr 2017 16:28:38 +0000 (18:28 +0200)
SOlves the test false-positively failing in 32 bit environment.

tests/python/bl_pyapi_mathutils.py

index 7761b6cb7b1532f992da4322a11eb3ad07f2524e..9ca0376192aa71594266c9ebe9a8e94b0a4a96fe 100644 (file)
@@ -260,6 +260,11 @@ class KDTreeTesting(unittest.TestCase):
         k.balance()
         return k
 
+    def assertAlmostEqualVector(self, first, second, places=7, msg=None, delta=None):
+        self.assertAlmostEqual(first[0], second[0], places=places, msg=msg, delta=delta)
+        self.assertAlmostEqual(first[1], second[1], places=places, msg=msg, delta=delta)
+        self.assertAlmostEqual(first[2], second[2], places=places, msg=msg, delta=delta)
+
     def test_kdtree_single(self):
         co = (0,) * 3
         index = 2
@@ -360,12 +365,12 @@ class KDTreeTesting(unittest.TestCase):
                     ret_regular = k_odd.find(co)
                     self.assertEqual(ret_regular[1] % 2, 1)
                     ret_filter = k_all.find(co, lambda i: (i % 2) == 1)
-                    self.assertEqual(ret_regular, ret_filter)
+                    self.assertAlmostEqualVector(ret_regular, ret_filter)
 
                     ret_regular = k_evn.find(co)
                     self.assertEqual(ret_regular[1] % 2, 0)
                     ret_filter = k_all.find(co, lambda i: (i % 2) == 0)
-                    self.assertEqual(ret_regular, ret_filter)
+                    self.assertAlmostEqualVector(ret_regular, ret_filter)
 
 
         # filter out all values (search odd tree for even values and the reverse)