async def METHOD_NAME(self):
    queue = BasicMessageQueue()
    with self.assertRaises(asyncio.TimeoutError):
        await queue.dequeue(timeout=0)
    test_value = "test value"
    await queue.enqueue(test_value)
    assert await queue.dequeue(timeout=0) == test_value
    with self.assertRaises(asyncio.TimeoutError):
        await queue.dequeue(timeout=0)
    queue.task_done()
    await queue.join()