public void DepthFirstSearchIterator_ShouldYieldElements_InCorrectOrder() { DirectedGraph <int> graph = TestHelper.CreateSampleGraph(); var sequence = new DepthFirstSearchIterator <int>(graph, 0); var expected = new DfsVertice <int>[] { Create(4, 2, 3, 4), Create(2, 0, 2, 5), Create(3, 1, 7, 8), Create(1, 0, 6, 9), Create(0, 0, 1, 10) }; var actual = sequence.ToList(); CollectionAssert.AreEqual(expected, actual); }
public void DepthFirstSearchIterator_ShouldYield_CorrectParenthesisedString() { DirectedGraph <int> graph = TestHelper.CreateSampleGraph(); var sequence = new DepthFirstSearchIterator <int>(graph, 0); var formatter = new DfsParenthesisFormatter <int>(); var expected = "(0 (2 (4 4) 2) (1 (3 3) 1) 0)"; var actual = formatter.ToString(sequence); Assert.AreEqual(expected, actual); }
public void SortTest() { var graph = TestHelper.CreateSampleGraph(); var sut = new TopologicalSort <int>(); var iterator = new DepthFirstSearchIterator <int>(graph, 0); var actual = sut.Sort(iterator); var sortedVertices = actual.Select(x => x.Vertice).ToList(); var expected = new int[] { 0, 1, 3, 2, 4 }; CollectionAssert.AreEqual(expected, sortedVertices); }