'Calling C{quit} on the worker returned by L{createMemoryWorker} causes
its C{do} and C{quit} methods to raise L{AlreadyQuit}; its C{perform}
callable will start raising L{AlreadyQuit} when the work already
provided to C{do} has been exhausted.'

def test_quitQuits(self):

    (worker, performer) = createMemoryWorker()
    done = []
    def moreWork():
        done.append(7)
    worker.do(moreWork)
    worker.quit()
    self.assertRaises(AlreadyQuit, worker.do, moreWork)
    self.assertRaises(AlreadyQuit, worker.quit)
    performer()
    self.assertEqual(done, [7])
    self.assertEqual(performer(), False)
