public void ProtectedRemoveEdgeReturnsCorrectValue() { GraphProtectedMethods_TESTS graph = new GraphProtectedMethods_TESTS(); TestGraphs.Add(graph); Node n1 = graph.NewGraphNode("n1"); Node n2 = graph.NewGraphNode("n2"); graph.AddEdge(n1, n2); Assert.IsTrue(graph.Nodes.All(n => n.Degree == 1)); Assert.IsTrue(graph.RemoveEdge(n1, n2)); Assert.IsFalse(graph.RemoveEdge(n1, n2)); Assert.IsTrue(AllGraphsHaveNoZeroDegreeNodes()); }
public void ProtectedRemoveEdgeRemovesCorrectly() { GraphProtectedMethods_TESTS graph = new GraphProtectedMethods_TESTS(); TestGraphs.Add(graph); graph.AddEdge("n1", "n2", true); graph.AddEdge("n2", "n3", true); graph.AddEdge("n1", "n3"); Assert.IsTrue(graph.Nodes.All(n => n.Degree == 2)); Node n1 = graph.Nodes.First(n => n.Id == "n1"); Node n2 = graph.Nodes.First(n => n.Id == "n2"); Node n3 = graph.Nodes.First(n => n.Id == "n3"); graph.RemoveEdge(n1, n3); Assert.AreEqual("1,1,2", String.Join(",", graph.Nodes.Select(n => n.Degree).OrderBy(n => n))); Assert.IsTrue(AllGraphsHaveNoZeroDegreeNodes()); }