Esempio n. 1
0
        public void IsBalanced_WhenTreeIsBalanced_AndHeighDiffIsOne_ReturnsTrue()
        {
            // Arrange
            var root      = new BinaryTreeNode <int>(10);
            var rootLeft  = new BinaryTreeNode <int>(4);
            var rootRight = new BinaryTreeNode <int>(4);

            root.Left  = rootLeft;
            root.Right = rootRight;
            var rootLeftLeft  = new BinaryTreeNode <int>(2);
            var rootLeftRight = new BinaryTreeNode <int>(8);

            rootLeft.Left  = rootLeftLeft;
            rootLeft.Right = rootLeftRight;

            // Act
            var actual = CheckBalanced <int> .IsBalanced(root);

            // Assert
            actual.Should().BeTrue();
        }
Esempio n. 2
0
        public void IsBalanced_WhenTreeIsNotBalanced_ReturnsFalse()
        {
            // Arrange
            var root     = new BinaryTreeNode <int>(10);
            var rootLeft = new BinaryTreeNode <int>(4);

            root.Left = rootLeft;
            var rootLeftLeft = new BinaryTreeNode <int>(2);

            rootLeft.Left = rootLeftLeft;
            var rootLeftLeftleft = new BinaryTreeNode <int>(8);

            rootLeftLeft.Left = rootLeftLeftleft;
            var rootRight = new BinaryTreeNode <int>(3);

            rootRight.Right = new BinaryTreeNode <int>(33);

            // Act
            var actual = CheckBalanced <int> .IsBalanced(root);

            // Assert
            actual.Should().BeFalse();
        }
Esempio n. 3
0
        public void CheckBalancedTest(TreeNode <int> root, bool expected)
        {
            bool result = CheckBalanced <int> .IsBalanced(root);

            Assert.Equal(expected, result);
        }