public void DepthFirstSearchTest() { var graph1 = GetTestGraph(); var calculator1 = new StronglyConnectedComponentsCalculator<int>(graph1); IEnumerable<int> vertices1 = calculator1.DepthFirstSearch(0, true); vertices1.Should().HaveCount(9); var calculator2 = new StronglyConnectedComponentsCalculator<int>(graph1); IEnumerable<int> vertices2 = calculator2.DepthFirstSearch(1, true); vertices2.Should().HaveCount(3); var graph2 = new DirectedGraph<int>(); graph2.AddEdge(0, 1); graph2.AddEdge(0, 2); graph2.AddEdge(2, 1); var calculator3 = new StronglyConnectedComponentsCalculator<int>(graph2); IEnumerable<int> vertices3 = calculator3.DepthFirstSearch(0, false); vertices3.Should().HaveCount(3); }