testAvlTreeHeight() {
    const tree = new AvlTree((a, b) => a - b);

    const NUM_TO_INSERT = 2000;
    const NUM_TO_REMOVE = 500;

    // Insert ints into tree out of order
    for (let i = 0; i < NUM_TO_INSERT; i += 1) {
      tree.add(i);
    }

    // Remove valuse
    for (let i = 0; i < NUM_TO_REMOVE; i += 1) {
      tree.remove(i);
    }

    assertTrue(
        tree.getHeight() <=
        1.4405 * (Math.log(NUM_TO_INSERT - NUM_TO_REMOVE + 2) / Math.log(2)) -
            1.3277);
  }
This test verifies that we can insert values into and remove values from
the AvlTree and have it maintain the AVL-Tree upperbound on its height.