def test_results_processing(self): a = TestClass() p_helper = ParaHelper(a.test_func) p_helper.add_task("first") p_helper.add_task("second") results = p_helper.get_all_results() self.assertCountEqual([["first", 5], ["second", 6]], results)
def test_results_threading_thread_reduction(self): """ tests if parameter workers works - there are only 2 workers for 3 tasks - one has to wait for second wave, so time will be at least 4 seconds(each worker sleeps for 2 secs so any wave is 2 sec minimal) :return: """ def test_func(text): time.sleep(2) return len(text) p_helper = ParaHelper(test_func, 2) start = time.time() p_helper.add_task("first") p_helper.add_task("second") p_helper.add_task("third") p_helper.shutdown(progress=False) end = time.time() self.assertTrue(end - start > 4)
def test_results_threading(self): def test_func(text): time.sleep(2) return len(text) p_helper = ParaHelper(test_func) start = time.time() p_helper.add_task("first") p_helper.add_task("second") p_helper.add_task("third") p_helper.add_task("fourth") p_helper.add_task("fifth") p_helper.add_task("sixth") p_helper.add_task("seventh") p_helper.add_task("eight") results = p_helper.get_all_results() end = time.time() expected = [ ["first", 5], ["second", 6], ["third", 5], ["fourth", 6], ["fifth", 5], ["sixth", 5], ["seventh", 7], ["eight", 5], ] self.assertCountEqual(expected, results) self.assertTrue(end - start < 4)