Example #1
0
        public void TraverseNodeShouldReturnPath()
        {
            var node = new Node("A");

            node.AddChildren("B", "C");
            var result = KataSearch.Traverse(node);

            Assert.That(result.ToArray(), Is.EqualTo(new string[] { "A", "B", "A", "C", "A" }));
        }
Example #2
0
        public void TestMaze()
        {
            var node     = new Node("1");
            var children = node.AddChildren("2");
            var child1   = children[0].AddChildren("3");
            var child2   = child1[0].AddChildren("4", "6");
            var child3   = child2[0].AddChildren("5");
            var child4   = child2[1].AddChildren("7");
            var child5   = child4[0].AddChildren("8");

            var empty  = new List <Node>();
            var result = KataSearch.Traverse(node);

            Assert.That(result.ToArray(), Is.EqualTo(new string[] { "1", "2", "3", "4", "5", "4", "3", "6", "7", "8", "7", "6", "3", "2", "1" }));
        }
Example #3
0
        public void TraverseNodeShouldReturnHugePath()
        {
            var node     = new Node("1");
            var children = node.AddChildren("2", "7", "8");
            var c2       = children[0].AddChildren("3", "6");

            c2[0].AddChildren("4", "5");

            var c3 = children[2].AddChildren("9", "12");

            c3[0].AddChildren("10", "11");

            var empty  = new List <Node>();
            var result = KataSearch.Traverse(node);

            Assert.That(result.ToArray(), Is.EqualTo(new string[] { "1", "2", "3", "4", "3", "5", "3", "2", "6", "2", "1", "7", "1", "8", "9", "10", "9", "11", "9", "8", "12", "8", "1" }));
        }