Exemplo n.º 1
0
        public void ValidateBSTAlgo_WhenTreeIsBST_ReturnsTrue()
        {
            // Arrange
            var root      = new BinaryTreeNode <int>(40);
            var rootLeft  = new BinaryTreeNode <int>(25);
            var rootRight = new BinaryTreeNode <int>(40);

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

            rootLeft.Left  = rootLeftLeft;
            rootLeft.Right = rootLeftRight;
            var rootRightRight = new BinaryTreeNode <int>(100);

            rootRight.Right = rootRightRight;
            var rootRightRightLeft  = new BinaryTreeNode <int>(60);
            var rootRightRightRight = new BinaryTreeNode <int>(150);

            rootRightRight.Left  = rootRightRightLeft;
            rootRightRight.Right = rootRightRightRight;

            // Act
            var actual = ValidateBST.ValidateBSTAlgo(root);

            // Assert
            actual.Should().BeTrue();
        }
Exemplo n.º 2
0
        public void ValidateBSTAlgo_WhenTreeIsNotBST_ReturnsFalse()
        {
            // Arrange
            var root      = new BinaryTreeNode <int>(40);
            var rootLeft  = new BinaryTreeNode <int>(40);
            var rootRight = new BinaryTreeNode <int>(42);

            root.Left  = rootLeft;
            root.Right = rootRight;

            // Act
            var actual = ValidateBST.ValidateBSTAlgo(root);

            // Assert
            actual.Should().BeFalse();
        }