Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)