public void IsBinarySearchTree3_DescendingLinkedListTest()
        {
            var root = new BinaryTreeNode(50);

            root.InsertLeft(40).InsertLeft(30).InsertLeft(20).InsertLeft(10);
            var result = IsBinarySearchTree3(root);

            Assert.True(result);
        }
        public void FindSecondLargest_DescendingLinkedListTest()
        {
            var root = new BinaryTreeNode(50);

            root.InsertLeft(40).InsertLeft(30).InsertLeft(20);
            var actual   = FindSecondLargest(root);
            var expected = 40;

            Assert.Equal(expected, actual);
        }
Example #3
0
        public void IsBalanced_LeafHeightsDifferByTwoTest()
        {
            var root = new BinaryTreeNode(6);

            root.InsertLeft(1);
            root.InsertRight(0).InsertRight(7).InsertRight(8);
            var result = IsBalanced(root);

            Assert.False(result);
        }
Example #4
0
        public void IsBalanced_BothLeavesAtTheSameDepthTest()
        {
            var root = new BinaryTreeNode(3);

            root.InsertLeft(4).InsertLeft(1);
            root.InsertRight(2).InsertRight(9);
            var result = IsBalanced(root);

            Assert.True(result);
        }
        public void FindSecondLargest_LargestHasLeftChildTest()
        {
            var root = new BinaryTreeNode(50);
            var a    = root.InsertLeft(30);

            a.InsertLeft(10);
            a.InsertRight(40);
            root.InsertRight(70).InsertLeft(60);
            var actual   = FindSecondLargest(root);
            var expected = 60;

            Assert.Equal(expected, actual);
        }
        public void FindSecondLargest_SecondLargestIsRootNodeTest()
        {
            var root = new BinaryTreeNode(50);
            var a    = root.InsertLeft(30);

            a.InsertLeft(10);
            a.InsertRight(40);
            root.InsertRight(70);
            var actual   = FindSecondLargest(root);
            var expected = 50;

            Assert.Equal(expected, actual);
        }
Example #7
0
        public void IsBalanced_BothSubTreesSuperbalancedTest()
        {
            var root = new BinaryTreeNode(1);

            root.InsertLeft(5);
            var b = root.InsertRight(9);

            b.InsertLeft(8).InsertLeft(7);
            b.InsertRight(5);
            var result = IsBalanced(root);

            Assert.False(result);
        }
Example #8
0
        public void IsBalanced_FullTreeTest()
        {
            var root = new BinaryTreeNode(5);
            var a    = root.InsertLeft(8);
            var b    = root.InsertRight(6);

            a.InsertLeft(1);
            a.InsertRight(2);
            b.InsertLeft(3);
            b.InsertRight(4);
            var result = IsBalanced(root);

            Assert.True(result);
        }
        public void IsBinarySearchTree3_BothSubtreesValidTest()
        {
            var root = new BinaryTreeNode(50);
            var a    = root.InsertLeft(30);

            a.InsertLeft(20);
            a.InsertRight(60);
            var b = root.InsertRight(80);

            b.InsertLeft(70);
            b.InsertRight(90);
            var result = IsBinarySearchTree3(root);

            Assert.False(result);
        }
        public void IsBinarySearchTree3_ValidFullTreeTest()
        {
            var root = new BinaryTreeNode(50);
            var a    = root.InsertLeft(30);

            a.InsertLeft(10);
            a.InsertRight(40);
            var b = root.InsertRight(70);

            b.InsertLeft(60);
            b.InsertRight(80);
            var result = IsBinarySearchTree3(root);

            Assert.True(result);
        }
        public void FindSecondLargest_LargestHasLeftSubtreeTest()
        {
            var root = new BinaryTreeNode(50);
            var a    = root.InsertLeft(30);

            a.InsertLeft(10);
            a.InsertRight(40);
            var b = root.InsertRight(70).InsertLeft(60);

            b.InsertLeft(55).InsertRight(58);
            b.InsertRight(65);
            var actual   = FindSecondLargest(root);
            var expected = 65;

            Assert.Equal(expected, actual);
        }
        public void FindSecondLargest_FindSecondLargestTest()
        {
            var root = new BinaryTreeNode(50);
            var a    = root.InsertLeft(30);

            a.InsertLeft(10);
            a.InsertRight(40);
            var b = root.InsertRight(70);

            b.InsertLeft(60);
            b.InsertRight(80);
            var actual   = FindSecondLargest(root);
            var expected = 70;

            Assert.Equal(expected, actual);
        }