public void TestLiveEdgeDynamicGraphCompressVertices() { var graph = new MemoryDynamicGraph <LiveEdge>(); var vertex1 = graph.AddVertex(51, 1); var vertex2 = graph.AddVertex(51, 2); var vertex3 = graph.AddVertex(51, 3); var vertex4 = graph.AddVertex(51, 3); graph.AddEdge(vertex1, vertex2, new LiveEdge() { Forward = true, Tags = 1 }, null); graph.AddEdge(vertex2, vertex3, new LiveEdge() { Forward = true, Tags = 2 }, null); graph.AddEdge(vertex3, vertex4, new LiveEdge() { Forward = true, Tags = 3 }, null); graph.AddEdge(vertex4, vertex2, new LiveEdge() { Forward = true, Tags = 4 }, null); // make vertex4 obsolete. graph.RemoveEdges(vertex4); graph.Compress(); Assert.AreEqual(3, graph.VertexCount); Assert.AreEqual(graph.GetEdges(vertex1).Length, 1); Assert.AreEqual(graph.GetEdges(vertex2).Length, 2); Assert.AreEqual(graph.GetEdges(vertex3).Length, 1); }
public void TestLiveEdgeDynamicGraphRemoveAllOneVertex() { var graph = new MemoryDynamicGraph <LiveEdge>(); var vertex1 = graph.AddVertex(51, 1); var vertex2 = graph.AddVertex(51, 2); var vertex3 = graph.AddVertex(51, 3); var vertex4 = graph.AddVertex(51, 3); graph.AddEdge(vertex1, vertex2, new LiveEdge() { Forward = true, Tags = 1 }); graph.AddEdge(vertex2, vertex3, new LiveEdge() { Forward = true, Tags = 2 }); graph.AddEdge(vertex3, vertex4, new LiveEdge() { Forward = true, Tags = 3 }); graph.AddEdge(vertex4, vertex2, new LiveEdge() { Forward = true, Tags = 4 }); graph.RemoveEdges(vertex2); Assert.IsFalse(graph.ContainsEdge(vertex2, vertex1)); Assert.IsFalse(graph.ContainsEdge(vertex2, vertex3)); Assert.IsFalse(graph.ContainsEdge(vertex4, vertex2)); Assert.IsTrue(graph.ContainsEdge(vertex3, vertex4)); }