def test_done(): counter = [0] def inc(_): counter[0] += 1 def dec(_): counter[0] -= 1 p = Promise() p.done(inc, dec) p.fulfill(4) assert_equals(counter[0], 1) p = Promise() p.done(inc, dec) p.done(inc, dec) p.reject(Exception()) assert_equals(counter[0], -1)