public void TopologicalSortTest() { for (int n = 0; n < 5; n++) { Vertex[] vertices = TopologicalSortTestClass.CreateDirectedAcyclicGraph(n); Vertex[] order = TopologicalSort.Run(vertices); for (int i = n - 1; i >= 0; i--) { foreach (Vertex v in vertices) { v.Reset(); } DepthFirstSearch.Run(order[i]); for (int j = 0; j < i; j++) { Assert.AreEqual(Color.White, order[j].Color); } } } }