Example #1
0
        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());
        }