def random_points_test(min, max, delay, n, lines, columns, max_count, fps, test_class = DiagramTest): # test main-thread execution (previewer run as main thread): preview = Preview(title = test_class.__name__ + " - Main-thread test with random points", lines = lines, columns = columns, fps_limit = fps, painter_class = VoronoiDiagram) x, y = preview.panel_dimensions() preview.interactive(True) preview.start() # create tests threads = [] remove = None while True: if len(threads) < n: test = test_class(TestCases.random_points(min, max, x, y), delay) threads.append(test) test.start() preview.add_view(test.diagram) for i in xrange(0, len(threads)): if threads[i].counter >= max_count: preview.del_view(threads[i].diagram) threads[i].stop() del threads[i] break if not preview.step(): break # stop tests threads for t in threads: t.stop()
def painter_test2(n, lines, columns, fps = 25000): # test main-thread execution (previewer run as main thread): preview = Preview(title = "Main-thread test without diagram", lines = lines, columns = columns, fps_limit = fps, painter_class = TestPainter) timer = Timer(0.1) preview.interactive(True) preview.start() step = 0 # create tests in different threads while True: step += 1 preview.set_title("Test #" + str(step) + " ADD-del inverse order") painters = [] for i in xrange(0,n): painters.append(preview.add_view(i)) while timer.idle(): if not preview.step(): return preview.set_title("Test #" + str(step) + " add-DEL inverse order") while len(painters) > 0: preview.del_view(painters.pop()) while timer.idle(): if not preview.step(): return preview.set_title("Test #" + str(step) + " ADD-del direct order") painters = [] for i in xrange(0,n): painters.append(preview.add_view(i)) while timer.idle(): if not preview.step(): return preview.set_title("Test #" + str(step) + " add-DEL direct order") for i in xrange(0,n): preview.del_view(painters[i]) while timer.idle(): if not preview.step(): return preview.set_title("Test #" + str(step) + " ADD-del random order") painters = [] for i in xrange(0,n): painters.append(preview.add_view(i)) while timer.idle(): if not preview.step(): return preview.set_title("Test #" + str(step) + " add-DEL random order") while len(painters) > 0: i = random.randint(0, len(painters) - 1) preview.del_view(painters[i]) del painters[i] while timer.idle(): if not preview.step(): return