示例#1
0
 def test_get_free_set_is_freed(self):
     target = worker.ValueHolder("123", None)
     target.get()
     target.free()
     target.set("123")
     self.assertRaises(ValueError, target.get)
     self.assertIsNone(target._value)
示例#2
0
    def test_getset(self):
        target = worker.ValueHolder("123", None)
        d = target.get()
        target.set("value")

        actual = extract(d)
        self.assertEqual("value", actual)
示例#3
0
 def test_get_free_set(self):
     target = worker.ValueHolder("123", None)
     d = target.get()
     f = target.free()
     self.assertFalse(f.called)
     target.set("123")
     self.assertEqual("123", extract(d))
     self.assertTrue(f.called)
示例#4
0
    def test_cancel(self):
        cancelled = defer.Deferred()

        def cancel():
            cancelled.callback(True)

        target = worker.ValueHolder("123", cancel)
        d = target.get()
        d.cancel()
        self.assertRaises(CancelledError, extract, d)

        actual = extract(cancelled)
        self.assertEqual(True, actual)
示例#5
0
    def test_free_cancel(self):

        cancelled = defer.Deferred()

        def cancel():
            cancelled.callback(True)

        target = worker.ValueHolder("123", cancel)
        f = target.free()
        self.assertRaises(ValueError, target.get)
        self.assertIsNone(target._value)
        self.assertTrue(f.called)

        self.assertEqual(True, extract(cancelled))
示例#6
0
    def test_get_free_cancel(self):

        cancelled = defer.Deferred()

        def cancel():
            cancelled.callback(True)

        target = worker.ValueHolder("123", cancel)
        d = target.get()
        f = target.free()

        self.assertFalse(f.called)

        d.cancel()

        self.assertRaises(CancelledError, extract, d)
        self.assertTrue(f.called)
        self.assertTrue(extract(cancelled))
示例#7
0
    def test_cancel2(self):
        cancelled = defer.Deferred()

        def cancel():
            cancelled.callback(True)

        target = worker.ValueHolder("123", cancel)
        d1 = target.get()
        d2 = target.get()

        d1.cancel()
        self.assertEqual(False, cancelled.called,
                         "Transfer cancelled to early.")
        self.assertRaises(CancelledError, extract, d1)

        d2.cancel()
        self.assertRaises(CancelledError, extract, d2)

        actual = extract(cancelled)
        self.assertEqual(True, actual)