def METHOD_NAME(self):
    actual_deps = [("A", "B"), ("A", "C"), ("B", "C")]
    for (l, r) in actual_deps:
        self.linker.dependency(l, r)
    queue = self._get_graph_queue(_mock_manifest("ABC"))
    got = queue.get(block=False)
    self.assertEqual(got.unique_id, "C")
    with self.assertRaises(Empty):
        queue.get(block=False)
    self.assertFalse(queue.empty())
    queue.mark_done("C")
    self.assertFalse(queue.empty())
    got = queue.get(block=False)
    self.assertEqual(got.unique_id, "B")
    with self.assertRaises(Empty):
        queue.get(block=False)
    self.assertFalse(queue.empty())
    queue.mark_done("B")
    self.assertFalse(queue.empty())
    got = queue.get(block=False)
    self.assertEqual(got.unique_id, "A")
    with self.assertRaises(Empty):
        queue.get(block=False)
    self.assertTrue(queue.empty())
    queue.mark_done("A")
    self.assert_would_join(queue)
    self.assertTrue(queue.empty())