예제 #1
0
def test_done_all():
    counter = [0]

    def inc(_):
        counter[0] += 1

    def dec(_):
        counter[0] -= 1

    p = Promise()
    p.done_all()
    p.done_all((inc, dec))
    p.done_all([
        (inc, dec),
        (inc, dec),
        {'success': inc, 'failure': dec},
    ])
    p.fulfill(4)

    assert counter[0] == 4

    p = Promise()
    p.done_all()
    p.done_all((inc, dec))
    p.done_all([
        (inc, dec),
        {'success': inc, 'failure': dec},
    ])
    p.reject(Exception())

    assert counter[0] == 1
예제 #2
0
def test_done_all():
    counter = [0]

    def inc(_):
        counter[0] += 1

    def dec(_):
        counter[0] -= 1

    p = Promise()
    r = Promise()
    p.done_all()
    p.done_all([(inc, dec)])
    p.done_all([
        (inc, dec),
        (inc, dec),
        {
            'success': inc,
            'failure': dec
        },
        lambda _: r.do_resolve(None)
    ])
    p.do_resolve(4)
    Promise.wait(r)
    assert counter[0] == 4

    p = Promise()
    r = Promise()
    p.done_all()
    p.done_all([inc])
    p.done_all([(inc, dec)])
    p.done_all([
        (inc, dec),
        {
            'success': inc,
            'failure': dec
        },
        (None, lambda _: r.do_resolve(None))
    ])
    p.do_reject(Exception("Uh oh!"))
    Promise.wait(r)
    assert counter[0] == 1
예제 #3
0
def test_done_all():
    counter = [0]
    e = Event()

    def inc(_):
        counter[0] += 1

    def dec(_):
        counter[0] -= 1

    p = Promise()
    p.done_all()
    p.done_all([(inc, dec)])
    p.done_all([
        (inc, dec),
        (inc, dec),
        {
            'success': inc,
            'failure': dec
        },
        lambda _: e.set()
    ])
    p.do_resolve(4)
    e.wait()
    assert counter[0] == 4

    e = Event()
    p = Promise()
    p.done_all()
    p.done_all([inc])
    p.done_all([(inc, dec)])
    p.done_all([
        (inc, dec),
        {
            'success': inc,
            'failure': dec
        },
        (None, lambda _: e.set())
    ])
    p.do_reject(Exception("Uh oh!"))
    e.wait()
    assert counter[0] == 1
예제 #4
0
def test_done_all():
    counter = [0]

    def inc(_):
        counter[0] += 1

    def dec(_):
        counter[0] -= 1

    p = Promise()
    p.done_all()
    p.done_all([(inc, dec)])
    p.done_all([
        (inc, dec),
        (inc, dec),
        {
            'success': inc,
            'failure': dec
        },
    ])
    p.fulfill(4)

    assert counter[0] == 4

    p = Promise()
    p.done_all()
    p.done_all([inc])
    p.done_all([(inc, dec)])
    p.done_all([
        (inc, dec),
        {
            'success': inc,
            'failure': dec
        },
    ])
    p.reject(Exception())

    assert counter[0] == 1
예제 #5
0
def test_done_all():
    counter = [0]

    def inc(_):
        counter[0] += 1

    def dec(_):
        counter[0] -= 1

    p = Promise()
    r = Promise()
    p.done_all()
    p.done_all([(inc, dec)])
    p.done_all(
        [
            (inc, dec),
            (inc, dec),
            {"success": inc, "failure": dec},
            lambda _: r.do_resolve(None),
        ]
    )
    p.do_resolve(4)
    Promise.wait(r)
    assert counter[0] == 4

    p = Promise()
    r = Promise()
    p.done_all()
    p.done_all([inc])
    p.done_all([(inc, dec)])
    p.done_all(
        [
            (inc, dec),
            {"success": inc, "failure": dec},
            (None, lambda _: r.do_resolve(None)),
        ]
    )
    p.do_reject(Exception("Uh oh!"))
    Promise.wait(r)
    assert counter[0] == 1