private static void SameEdges <TVertex, TEdge>([NotNull] IVertexAndEdgeListGraph <TVertex, TEdge> graph) where TEdge : IEdge <TVertex> { ArrayAdjacencyGraph <TVertex, TEdge> adjacencyGraph = graph.ToArrayAdjacencyGraph(); CollectionAssert.AreEqual(graph.Edges, adjacencyGraph.Edges); }
private static void SameVertexCount <TVertex, TEdge>([NotNull] IVertexAndEdgeListGraph <TVertex, TEdge> graph) where TEdge : IEdge <TVertex> { ArrayAdjacencyGraph <TVertex, TEdge> adjacencyGraph = graph.ToArrayAdjacencyGraph(); Assert.AreEqual(graph.VertexCount, adjacencyGraph.VertexCount); }
private static void SameOutEdges <TVertex, TEdge>([NotNull] IVertexAndEdgeListGraph <TVertex, TEdge> graph) where TEdge : IEdge <TVertex> { var adjacencyGraph = graph.ToArrayAdjacencyGraph(); foreach (TVertex vertex in graph.Vertices) { CollectionAssert.AreEqual(graph.OutEdges(vertex), adjacencyGraph.OutEdges(vertex)); } }
private static void AssertSameProperties <TVertex, TEdge>(IVertexAndEdgeListGraph <TVertex, TEdge> graph) where TEdge : IEdge <TVertex> { ArrayAdjacencyGraph <TVertex, TEdge> adjacencyGraph = graph.ToArrayAdjacencyGraph(); Assert.AreEqual(graph.VertexCount, adjacencyGraph.VertexCount); CollectionAssert.AreEqual(graph.Vertices, adjacencyGraph.Vertices); Assert.AreEqual(graph.EdgeCount, adjacencyGraph.EdgeCount); CollectionAssert.AreEqual(graph.Edges, adjacencyGraph.Edges); foreach (TVertex vertex in graph.Vertices) { CollectionAssert.AreEqual(graph.OutEdges(vertex), adjacencyGraph.OutEdges(vertex)); } }