BST { public void add(int value) { if (root == null) root = new BSTNode(value, null); else { root.add(value); } } BST(); void add(int value); void delete(int value); boolean find(int value);  }
@Test public void testAdd() throws Exception { BST test = new BST(); test.add(5); test.add(4); test.add(6); test.add(3); test.add(7); assertTrue(test.root.value == 5); assertTrue(test.root.right.value == 6); assertTrue(test.root.left.value == 4); assertTrue(test.root.left.left.value == 3); assertTrue(test.root.right.right.value == 7); assertTrue(CheckInvariants(test)); }