private bool IsWithinBoundary(BinarySearchTreeNode node, int leftBoundary, int rightBoundary) => leftBoundary <= node.Value && node.Value <= rightBoundary;
private bool IsLeaf(BinarySearchTreeNode node) => node != null && node.Left == null && node.Right == null;
private bool IsBinarySearchTree(BinarySearchTreeNode node) { return(CheckBinarySearchTree(node, int.MinValue, int.MaxValue)); }
public void TestBinarySearchTree(bool expected, BinarySearchTreeNode root) { var actual = IsBinarySearchTree(root); Assert.Equal(expected, actual); }
public BinarySearchTreeNode InsertRight(int rightValue) { Right = new BinarySearchTreeNode(rightValue); return(Right); }
public BinarySearchTreeNode InsertLeft(int leftValue) { Left = new BinarySearchTreeNode(leftValue); return(Left); }