public void Test_Traverse_RootNode_Has_No_Children_RootNode_Visited() { var rootNode = new MockNode(); _tree.RootNode = rootNode; var traverser = new PreorderTraversalStrategy(); traverser.Traverse <object>(_tree, _visitor); Assert.IsTrue(rootNode.WasVisisted); Assert.IsTrue(_visitor.NodesVisited.Count == 1); }
public void Test_Traverse_RootNode_Has_Children_Tree_Visited_In_Preorder_Order() { //Preorder pattern is 1, 2, 5, 10, 6, 3, 7, 8, 4, 9 var expected = new List <int> { 1, 2, 5, 10, 6, 3, 7, 8, 4, 9 }; BuildTreeForTest(); var traverser = new PreorderTraversalStrategy(); traverser.Traverse <object>(_tree, _visitor); Assert.IsTrue(_visitor.NodesVisited.SequenceEqual(expected)); }