def test_random_intensive_cmp(self): for i in range(100): number_of_points = int(uniform(20, 50)) range_of_points = uniform(30.0, 50.0) points = generate_random_points_list(number_of_points, range_of_points) readwrite_list.write_list_of_points(points, "TestRecentRandomIntensive.txt") self.internal_test_cmp_with_direct(points)
def internal_test_loop(self, points): number_of_rejected = 1 while number_of_rejected > 0: rejected = find_redundant_points(points) if not rejected: scroll_points_list(points) rejected = find_redundant_points(points) number_of_rejected = len(rejected) for r in rejected: if r not in points: filename = "TestRejectedNotInGiven.txt" readwrite_list.write_list_of_points(points, filename) points.remove(r) return len(points)
def internal_test_random(self, number_of_points, test_by_pivots = False): thelist = list(); for i in range(number_of_points): thelist.append(Vector2D(random.uniform(-10.0, 10.0), random.uniform(-10.0, 10.0))); write_list_of_points(thelist, "RandomPoints.txt"); circle1, pivot_points1 = find_smallest_circle_directly(thelist); circle2, pivot_points2 = find_smallest_circle_sqtime(thelist); if test_by_pivots: p1_in_p2 = all(p in pivot_points1 for p in pivot_points2) p2_in_p1 = all(p in pivot_points2 for p in pivot_points1) self.assertTrue(p1_in_p2) self.assertTrue(p2_in_p1) else: self.assertEqual(round(circle1.centre.get_x(), 3), round(circle2.centre.get_x(), 3)); self.assertEqual(round(circle1.centre.get_y(), 3), round(circle2.centre.get_y(), 3)); self.assertEqual(round(circle1.radius, 3), round(circle2.radius, 3));
def test_random(self): for i in range(10): points = generate_random_points_list(30, 30.0) readwrite_list.write_list_of_points(points, "TestRecentRandom.txt") result_num = self.internal_test_loop(points) self.assertTrue(result_num < 16)