### Question:
BinarySearchTree { public boolean isEmpty() { return Objects.isNull(root); } BinarySearchTree(); BinaryNode getRoot(); boolean contains(Integer data); static BinarySearchTree build(Integer[] sourceDatas); void insert(Integer data, BinaryNode node); boolean remove(Integer data); BinaryNode remove(Integer data,  BinaryNode node); void preOrderTraversal(BinaryNode node, List<Integer> list); List<Integer> preOrderTraversal(); void inOrderTraversal(BinaryNode node, List<Integer> list); List<Integer> inOrderTraversal(); void postOrderTraversal(BinaryNode node, List<Integer> list); List<Integer> postOrderTraversal(); boolean isEmpty(); Integer getMin(); Integer getMax(); Integer getMax(BinaryNode node);  }### Answer:
@Test public void isEmpty() throws Exception { dataList = new ArrayList<>(); datas = dataList.toArray(new Integer[dataList.size()]); tree = BinarySearchTree.build(datas); assertThat(tree.isEmpty(), is(true)); dataList = Arrays.asList(6, 4, 9, 3, 8, 5, 10); datas = dataList.toArray(new Integer[dataList.size()]); BinarySearchTree tree = BinarySearchTree.build(datas); assertThat(tree.isEmpty(), is(false)); }