Пример #1
0
 def testResolveToAPromise(self):
     p1,r1 = makePromise()
     p2,r2 = makePromise()
     def _check(res):
         self.assertEqual(res, 1)
     p1._then(_check)
     r1(p2)
     def _continue(res):
         r2(1)
     flushEventualQueue().addCallback(_continue)
     return when(p1)
Пример #2
0
 def testResolveToAPromise(self):
     p1,r1 = makePromise()
     p2,r2 = makePromise()
     def _check(res):
         self.failUnlessEqual(res, 1)
     p1._then(_check)
     r1(p2)
     def _continue(res):
         r2(1)
     flushEventualQueue().addCallback(_continue)
     return when(p1)
Пример #3
0
 def testResolveToABrokenPromise(self):
     p1,r1 = makePromise()
     p2,r2 = makePromise()
     r1(p2)
     def _continue(res):
         r2(Failure(KaboomError("foom")))
     flushEventualQueue().addCallback(_continue)
     def _check2(res):
         self.assertTrue(isinstance(res, Failure))
         self.assertTrue(res.check(KaboomError))
     d = when(p1)
     d.addBoth(_check2)
     return d
Пример #4
0
 def testResolveToABrokenPromise(self):
     p1,r1 = makePromise()
     p2,r2 = makePromise()
     r1(p2)
     def _continue(res):
         r2(Failure(KaboomError("foom")))
     flushEventualQueue().addCallback(_continue)
     def _check2(res):
         self.failUnless(isinstance(res, Failure))
         self.failUnless(res.check(KaboomError))
     d = when(p1)
     d.addBoth(_check2)
     return d
Пример #5
0
    def testChained2(self):
        p1, r = makePromise()

        def _check(c, expected):
            self.failUnlessEqual(c.count, expected)

        p1.add(2).add(3)._then(_check, 6)
        r(Counter(1))
Пример #6
0
 def testResolveAfter(self):
     t = Target()
     p1,r = makePromise()
     p2 = p1.one(2)
     def _check(res):
         self.failUnlessEqual(res, 3)
     p2._then(_check)
     r(t)
Пример #7
0
    def testDisableDataflowStyle(self):
        p, r = makePromise()
        p._useDataflowStyle = False

        def wrong(p):
            p.one(12)

        self.failUnlessRaises(AttributeError, wrong, p)
Пример #8
0
 def testChained1(self):
     p1,r = makePromise()
     p2 = p1.add(2)
     p3 = p2.add(3)
     def _check(c):
         self.assertEqual(c.count, 5)
     p3._then(_check)
     r(Counter(0))
Пример #9
0
 def testChained1(self):
     p1,r = makePromise()
     p2 = p1.add(2)
     p3 = p2.add(3)
     def _check(c):
         self.failUnlessEqual(c.count, 5)
     p3._then(_check)
     r(Counter(0))
Пример #10
0
 def testResolveAfter(self):
     t = Target()
     p1,r = makePromise()
     p2 = p1.one(2)
     def _check(res):
         self.assertEqual(res, 3)
     p2._then(_check)
     r(t)
Пример #11
0
 def testResolveAfter(self):
     t = Target()
     p,r = makePromise()
     p = send(p).one(2)
     def _check(res):
         self.assertEqual(res, 3)
     when(p).addCallback(_check)
     r(t)
Пример #12
0
 def testResolveAfter(self):
     t = Target()
     p,r = makePromise()
     p = send(p).one(2)
     def _check(res):
         self.failUnlessEqual(res, 3)
     when(p).addCallback(_check)
     r(t)
Пример #13
0
 def testResolveFailure(self):
     p,r = makePromise()
     p = send(p).one(2)
     def _check(res):
         self.failUnless(isinstance(res, Failure))
         self.failUnless(res.check(KaboomError))
     when(p).addBoth(_check)
     f = Failure(KaboomError("oops"))
     r(f)
Пример #14
0
 def testBasic(self):
     p,r = makePromise()
     def _check(res, *args, **kwargs):
         self.assertEqual(res, 1)
         self.assertEqual(args, ("one",))
         self.assertEqual(kwargs, {"two": 2})
     p2 = p._then(_check, "one", two=2)
     self.assertIs(p2, p)
     r(1)
Пример #15
0
 def testResolveFailure(self):
     p,r = makePromise()
     p = send(p).one(2)
     def _check(res):
         self.assertTrue(isinstance(res, Failure))
         self.assertTrue(res.check(KaboomError))
     when(p).addBoth(_check)
     f = Failure(KaboomError("oops"))
     r(f)
Пример #16
0
 def testBasic(self):
     p,r = makePromise()
     def _check(res, *args, **kwargs):
         self.failUnlessEqual(res, 1)
         self.failUnlessEqual(args, ("one",))
         self.failUnlessEqual(kwargs, {"two": 2})
     p2 = p._then(_check, "one", two=2)
     self.failUnlessIdentical(p2, p)
     r(1)
Пример #17
0
 def testBasicFailure(self):
     p,r = makePromise()
     def _check(res, *args, **kwargs):
         self.assertTrue(isinstance(res, Failure))
         self.assertTrue(res.check(KaboomError))
         self.assertEqual(args, ("one",))
         self.assertEqual(kwargs, {"two": 2})
     p2 = p._except(_check, "one", two=2)
     self.assertIs(p2, p)
     r(Failure(KaboomError("oops")))
Пример #18
0
 def testResolveFailure(self):
     p1,r = makePromise()
     p2 = p1.one(2)
     def _check(res):
         self.assertTrue(isinstance(res, Failure))
         self.assertTrue(res.check(KaboomError))
     p2._then(lambda res: self.fail("this was supposed to fail"))
     p2._except(_check)
     f = Failure(KaboomError("oops"))
     r(f)
Пример #19
0
    def testResolveBefore(self):
        t = Target()
        p, r = makePromise()
        r(t)
        p = send(p).one(2)

        def _check(res):
            self.failUnlessEqual(res, 3)

        when(p).addCallback(_check)
Пример #20
0
 def testResolveAfter(self):
     t = Target()
     p,r = makePromise()
     sendOnly(p).one(1)
     r(t)
     d = flushEventualQueue()
     def _check(res):
         self.assertEqual(t.calls, [("one", 1)])
     d.addCallback(_check)
     return d
Пример #21
0
    def testResolveBefore(self):
        t = Target()
        p1, r = makePromise()
        r(t)
        p2 = p1.one(2)

        def _check(res):
            self.failUnlessEqual(res, 3)

        p2._then(_check)
Пример #22
0
 def testResolveAfter(self):
     t = Target()
     p,r = makePromise()
     sendOnly(p).one(1)
     r(t)
     d = flushEventualQueue()
     def _check(res):
         self.failUnlessEqual(t.calls, [("one", 1)])
     d.addCallback(_check)
     return d
Пример #23
0
 def testResolveFailure(self):
     p1,r = makePromise()
     p2 = p1.one(2)
     def _check(res):
         self.failUnless(isinstance(res, Failure))
         self.failUnless(res.check(KaboomError))
     p2._then(lambda res: self.fail("this was supposed to fail"))
     p2._except(_check)
     f = Failure(KaboomError("oops"))
     r(f)
Пример #24
0
 def testBasicFailure(self):
     p,r = makePromise()
     def _check(res, *args, **kwargs):
         self.failUnless(isinstance(res, Failure))
         self.failUnless(res.check(KaboomError))
         self.failUnlessEqual(args, ("one",))
         self.failUnlessEqual(kwargs, {"two": 2})
     p2 = p._except(_check, "one", two=2)
     self.failUnlessIdentical(p2, p)
     r(Failure(KaboomError("oops")))
Пример #25
0
    def testBasic(self):
        p, r = makePromise()

        def _check(res, *args, **kwargs):
            self.failUnlessEqual(res, 1)
            self.failUnlessEqual(args, ("one", ))
            self.failUnlessEqual(kwargs, {"two": 2})

        p2 = p._then(_check, "one", two=2)
        self.failUnlessIdentical(p2, p)
        r(1)
Пример #26
0
    def testResolveBefore(self):
        t = Target()
        p, r = makePromise()
        r(t)
        sendOnly(p).one(1)
        d = flushEventualQueue()

        def _check(res):
            self.failUnlessEqual(t.calls, [("one", 1)])

        d.addCallback(_check)
        return d
Пример #27
0
 def testNoMultipleResolution(self):
     p,r = makePromise()
     r(3)
     self.assertRaises(UsageError, r, 4)
Пример #28
0
 def testNoMultipleResolution(self):
     p, r = makePromise()
     r(3)
     self.failUnlessRaises(UsageError, r, 4)
Пример #29
0
 def testDisableDataflowStyle(self):
     p,r = makePromise()
     p._useDataflowStyle = False
     def wrong(p):
         p.one(12)
     self.failUnlessRaises(AttributeError, wrong, p)
Пример #30
0
 def testChained2(self):
     p1,r = makePromise()
     def _check(c, expected):
         self.failUnlessEqual(c.count, expected)
     p1.add(2).add(3)._then(_check, 6)
     r(Counter(1))
Пример #31
0
 def testNoMultipleResolution(self):
     p,r = makePromise()
     r(3)
     self.failUnlessRaises(UsageError, r, 4)