### Question:
UniqueNumbers { public static TreeNode addNode(TreeNode root, int value) { if (root == null) { TreeNode node = new TreeNode(); node.value = value; return node; } TreeNode current, previous; current = root; previous = null; while (current != null) { previous = current; if (current.value == value) { return root; } else if (current.value < value) { current = current.right; } else { current = current.left; } } if (previous.value < value) { previous.right = new TreeNode(); previous.right.value = value; } else { previous.left = new TreeNode(); previous.left.value = value; } return root; }  static void main(String[] args); static void printTreeAscending(TreeNode root); static void printTreeDescending(TreeNode root); static TreeNode addNode(TreeNode root, int value); static int treeSize(TreeNode root); static boolean containsValue(TreeNode root, int value);  }### Answer:
@Test public void testOrdering() { TreeNode root = null; root = UniqueNumbers.addNode(root, 5); root = UniqueNumbers.addNode(root, -2); root = UniqueNumbers.addNode(root, 4); root = UniqueNumbers.addNode(root, 8); root = UniqueNumbers.addNode(root, 15); assertEquals(5, root.value); assertEquals(-2, root.left.value); assertEquals(4, root.left.right.value); assertEquals(8, root.right.value); assertEquals(15, root.right.right.value); }