def test_RaisesErrorOnErrorTrigger(self):
        triggered = [False]

        def check(r):
            self.assertRaises(ValueError, r.get)
            triggered[0] = True

        d = Deferred()
        d.add_callback(check)
        d.error(ValueError('Test'))

        self.assertTrue(triggered[0])
    def test_CanStoreCallbacks(self):
        triggered = [False]
        actual = [None]

        def check(r):
            actual[0] = r.get()
            triggered[0] = True

        d = Deferred()
        d.add_callback(check)
        d.trigger('Test')

        self.assertTrue(triggered[0])
        self.assertEqual('Test', actual[0])
    def test_DoNotLoseChunkWhenCallbackIsNotSetYet(self):
        triggered = [False]
        actual = [None]

        d = Deferred()
        d.trigger('Test')

        def check(r):
            triggered[0] = True
            actual[0] = r.get()

        d.add_callback(check)

        self.assertTrue(triggered[0])
        self.assertEqual('Test', actual[0])