add comprehensive TreeNode test cases