async def METHOD_NAME(self):
    queue = TaskQueue(1)
    completed = set()
    def done(complete: CompletedTask):
        assert not complete.exc_info
        completed.add(complete.task.result())
    queue.run(retval(1, delay=1), done)
    queue.put(retval(2), done)
    queue.put(retval(3), done)
    queue.cancel()
    assert queue.cancelled
    await queue.flush()
    assert not completed
    assert not queue.current_size
    co = retval(1)
    with self.assertRaises(RuntimeError):
        queue.run(co, done)
    co.close()
    co = retval(1)
    pend = queue.put(co)
    assert pend.cancelled