public void AsDFS()
        {
            BinaryArbor1 <int> tree = GetTestTree();

            int[] targetValues = { 2, 1, 4, 5, 3, 6, 7 };
            Assert.AreEqual(tree.GetEntireFamily().ToArray().Length, targetValues.Length);
            AssertCollectionEquality(tree.GetItemsAsDFS(), targetValues);
        }
        private BinaryArbor1 <int> GetTestTree()
        {
            BinaryArbor1 <int> leftEnd  = new BinaryArbor1 <int> (1, new BinaryArbor1 <int> (4, null, null), new BinaryArbor1 <int> (5, null, null));
            BinaryArbor1 <int> rightEnd = new BinaryArbor1 <int> (3, new BinaryArbor1 <int> (6, null, null), new BinaryArbor1 <int> (7, null, null));
            BinaryArbor1 <int> tree     = new BinaryArbor1 <int> (2, leftEnd, rightEnd);

            return(tree);
        }
        public void PopulateWorksSize2()
        {
            BinaryArbor1 <int> tree = new BinaryArbor1 <int>();

            int[] values = { 1, 2 };
            tree.Populate(values);
            Assert.AreEqual(values[0], tree.Value);
            Assert.AreEqual(values[1], tree.Right.Value);
        }
        public void PopulateWorksSize1()
        {
            BinaryArbor1 <int> tree = new BinaryArbor1 <int>();

            int[] values = { 1 };
            tree.Populate(values);
            Assert.AreEqual(values[0], tree.Value);
            Assert.IsNull(tree.Left);
            Assert.IsNull(tree.Right);
        }
        public void PopulateWorksSize0()
        {
            BinaryArbor1 <int> tree   = new BinaryArbor1 <int>();
            List <int>         values = new List <int> ();

            tree.Populate(values);
            Assert.AreEqual(default(int), tree.Value);
            Assert.IsNull(tree.Left);
            Assert.IsNull(tree.Right);
        }
Esempio n. 6
0
        public void DFSTest()
        {
            BinaryArbor1 <int> tree = GetTestTree();

            int[] targetValues = { 2, 1, 4, 5, 3, 6, 7 };
            var   result       = tree.GetItemsAsDFS().ToArray();

            Console.WriteLine("Expected: " + ListElements(targetValues));
            Console.WriteLine("Actual  : " + ListElements(result));
        }
        public void TestExtractValues()
        {
            IBinaryArbor <char>[] nodes = new IBinaryArbor <char> [4];
            char[] chars = new char[4];
            chars [0] = 'a';
            chars [1] = 'b';
            chars [2] = 'c';
            chars [3] = 'd';
            nodes [0] = new BinaryArbor1 <char> (chars[0], null, null);
            nodes [1] = new BinaryArbor1 <char> (chars[1], null, null);
            nodes [2] = new BinaryArbor1 <char> (chars[2], null, null);
            nodes [3] = new BinaryArbor1 <char> (chars[3], null, null);
            IEnumerable <char> values = BinaryArbor1 <char> .ExtractValues(nodes);

            AssertCollectionEquality(values, chars);
        }
        public void PopulateWorksSize4()
        {
            BinaryArbor1 <int> tree = new BinaryArbor1 <int>();

            int[] values = { 1, 2, 3, 4 };
            tree.Populate(values);
            Assert.AreEqual(values[0], tree.Left.Value);
            Assert.AreEqual(values[1], tree.Value);
            Assert.AreEqual(values[2], tree.Right.Value);
            Assert.AreEqual(values[3], tree.Right.Right.Value);
            Assert.IsNull(tree.Right.Left);
            Assert.IsNull(tree.Left.Left);
            Assert.IsNull(tree.Left.Right);
            Assert.IsNull(tree.Right.Right.Left);
            Assert.IsNull(tree.Right.Right.Right);
            Assert.AreEqual(tree.Left.Parent.Value, tree.Value);
            Assert.AreEqual(tree.Right.Parent.Value, tree.Value);
            Assert.AreEqual(tree.Right.Right.Parent.Value, tree.Right.Value);
        }