Exemplo n.º 1
0
    def test_continue_with_with_resolved_future(self):
        f1 = Future()
        f2 = Future()
        f3 = f1.continue_with(lambda _: f2)
        f1.set_result(0)
        f2.set_result(1)

        self.assertEqual(1, f3.result())
Exemplo n.º 2
0
    def test_continue_with_with_rejected_future(self):
        f1 = Future()
        f2 = Future()
        f3 = f1.continue_with(lambda _: f2)
        f1.set_result(0)
        f2.set_exception(RuntimeError("error"))

        with self.assertRaises(RuntimeError):
            f3.result()
Exemplo n.º 3
0
    def test_continue_with_on_success(self):
        f = Future()
        f.set_result(1)

        def continuation(future):
            return future.result() + 1

        result = f.continue_with(continuation).result()
        self.assertEqual(2, result)
    def test_continue_with_on_success(self):
        f = Future()
        f.set_result(1)

        def continuation(future):
            return future.result() + 1

        result = f.continue_with(continuation).result()
        self.assertEqual(2, result)
Exemplo n.º 5
0
    def test_continue_with_future_returning_future(self):
        f1 = Future()
        f2 = Future()
        f3 = Future()
        f4 = f1.continue_with(lambda _: f2)
        f1.set_result(0)
        f2.set_result(f3)
        f3.set_result(1)

        self.assertEqual(1, f4.result())
Exemplo n.º 6
0
    def test_continue_with_throws_exception(self):
        f = Future()
        e = RuntimeError("error")

        def continue_func(_):
            raise e

        n = f.continue_with(continue_func)
        f.set_result("done")

        self.assertFalse(n.is_success())
        self.assertEqual(n.exception(), e)
Exemplo n.º 7
0
    def test_continue_with_on_failure(self):
        f = Future()
        f.set_exception(RuntimeError("error"))

        def continuation(future):
            if future.is_success():
                return 0
            else:
                return 1

        result = f.continue_with(continuation).result()
        self.assertEqual(1, result)
    def test_continue_with_throws_exception(self):
        f = Future()
        e = RuntimeError("error")

        def continue_func(f):
            raise e

        n = f.continue_with(continue_func)
        f.set_result("done")

        self.assertFalse(n.is_success())
        self.assertEqual(n.exception(), e)
    def test_continue_with_on_failure(self):
        f = Future()
        f.set_exception(RuntimeError("error"))

        def continuation(future):
            if future.is_success():
                return 0
            else:
                return 1

        result = f.continue_with(continuation).result()
        self.assertEqual(1, result)