public void CanRemoveSpecificNode() { var pQueue = new PQueue(); var node1 = pQueue.Insert("A:11"); var node2 = pQueue.Insert("A:12"); var node3 = pQueue.Insert("A:13"); pQueue.Remove(node2); var extractedNodeA = pQueue.Extract(); Assert.AreEqual(node1, extractedNodeA); var extractedNodeB = pQueue.Extract(); Assert.AreEqual(node3, extractedNodeB); Assert.IsTrue(pQueue.IsEmpty()); }