public void TestDeletions() { RootGraph root = Utils.CreateUniqueTestGraph(); Node tail = root.GetOrAddNode("1"); Node head = root.GetOrAddNode("2"); Node other = root.GetOrAddNode("3"); Edge edge = root.GetOrAddEdge(tail, head, "edge"); Edge tailout = root.GetOrAddEdge(tail, other, "tailout"); Edge headout = root.GetOrAddEdge(head, other, "headout"); Edge tailin = root.GetOrAddEdge(other, tail, "tailin"); Edge headin = root.GetOrAddEdge(other, head, "headin"); Assert.IsTrue(root.Equals(root.MyRootGraph)); Assert.IsTrue(root.Equals(tail.MyRootGraph)); Assert.IsTrue(root.Equals(edge.MyRootGraph)); Assert.AreEqual(3, tail.TotalDegree()); Assert.AreEqual(3, head.TotalDegree()); Assert.AreEqual(3, root.Nodes().Count()); root.Delete(edge); Assert.AreEqual(2, tail.TotalDegree()); Assert.AreEqual(2, head.TotalDegree()); Assert.AreEqual(3, root.Nodes().Count()); root.Delete(tail); Assert.AreEqual(2, root.Nodes().Count()); Assert.AreEqual(2, other.TotalDegree()); }