def internal_reject_while_possible(self, points, until=4):
     while len(points) > until:
         rejected = find_redundant_points(points)
         if not rejected:
             scroll_points_list(points)
             rejected = find_redundant_points(points)
             if not rejected:
                 break
         for r in rejected:
             points.remove(r)
 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)