public void RemoveEdgeTest() { Vertex.Reset(); Graph g = new Graph(); g.AddVertex(new Vertex()); // 1 g.AddVertex(new Vertex()); // 2 g.AddVertex(new Vertex()); // 3 g.AddVertex(new Vertex()); // 4 g.AddVertex(new Vertex()); // 5 var edge = new Edge { ParentId = 1, ChildId = 5 }; g.AddEdge(edge); g.AddEdge(new Edge { ParentId = 1, ChildId = 2 }); g.AddEdge(new Edge { ParentId = 2, ChildId = 3 }); g.AddEdge(new Edge { ParentId = 3, ChildId = 1 }); g.RemoveEdge(edge); Assert.Equal(0, g.GetEdges().Where(e => e.ParentId == 1 && e.ChildId == 5).Count()); }
public void RemoveVertexTest() { Vertex.Reset(); Graph g = new Graph(); var vertex1 = new Vertex(); g.AddVertex(vertex1); // 1 g.AddVertex(new Vertex()); // 2 g.AddVertex(new Vertex()); // 3 g.AddVertex(new Vertex()); // 4 g.AddVertex(new Vertex()); // 5 g.AddEdge(new Edge { ParentId = 1, ChildId = 5 }); g.AddEdge(new Edge { ParentId = 1, ChildId = 2 }); g.AddEdge(new Edge { ParentId = 2, ChildId = 3 }); g.AddEdge(new Edge { ParentId = 3, ChildId = 1 }); g.RemoveVertex(vertex1); Assert.Equal(0, g.GetVertices().Where(v => v.Id == 1).Count()); Assert.Equal(0, g.GetEdges().Where(e => e.ParentId == 1 || e.ChildId == 1).Count()); }