public void DeepCopyGraph() { // a cube var graph = new DirectedGraph(4); graph.AddEdge(0, 1); graph.AddEdge(1, 2); graph.AddEdge(2, 3); graph.AddEdge(3, 0); graph.AddEdge(0, 2); graph.AddEdge(3, 3); var graph2 = graph.DeepCopy(); Assert.AreEqual(graph.ToString(), graph2.ToString()); Assert.AreNotSame(graph, graph2); }