def test_average_same(self, qty=1000): for i in range(qty): a = Bitstring() b = a.copy() c = Bitstring.average(a, b) self.assertEqual(c.distance_to(a), 0) self.assertEqual(c.distance_to(b), 0)
def test_average_random(self, qty=1000): for i in range(qty): a = Bitstring() b = Bitstring() c = Bitstring.average(a, b) d0 = a.distance_to(b) d1 = c.distance_to(a) d2 = c.distance_to(b) self.assertEqual(d1+d2, d0) self.assertTrue(d1 < d0) self.assertTrue(d2 < d0) self.assertTrue(abs(d1-d2) <= 1)