private static void AssertGraphsEqual(
            [NotNull] IEdgeListGraph <int, EquatableEdge <int> > expected,
            [NotNull] IEdgeListGraph <int, EquatableEdge <int> > graph)
        {
            // Check equal
            expected.AssertVertexCountEqual(graph);
            expected.AssertEdgeCountEqual(graph);

            foreach (int vertex in expected.Vertices)
            {
                Assert.IsTrue(graph.ContainsVertex(vertex));
            }
            foreach (Edge <int> edge in graph.Edges)
            {
                Assert.IsTrue(graph.ContainsEdge(new EquatableEdge <int>(edge.Source, edge.Target)));
            }
        }