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(); }
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(); }