import org.junit.Test;
import java.util.Arrays;
import java.util.List;
public class RangeLookupTest {
private List<Integer> expected;
private BinaryTree<Integer> tree;
private Tuple tuple;
@Test
public void range1() throws Exception {
expected = Arrays.asList(2,3,4,5);
tree = BinaryTreeUtil.getFullBST();
tuple = new Tuple(2,5);
test(expected, tree, tuple);
}
@Test
public void range2() throws Exception {
expected = Arrays.asList(17,19,23,29,31);
tree = BinaryTreeUtil.getFigureFifteenDotOne();
tuple = new Tuple(16, 31);
test(expected, tree, tuple);
}
@Test
public void range3() throws Exception {
expected = Arrays.asList(23,29,31,37,41);
tree = BinaryTreeUtil.getFigureFifteenDotOne();
tuple = new Tuple(20,43);
test(expected, tree, tuple);
}
@Test
public void range4() throws Exception {
expected = Arrays.asList(2,3,5,7,11,17,13);
tree = BinaryTreeUtil.getFigureFifteenDotOne();
tuple = new Tuple(0,18);
test(expected, tree, tuple);
}
private void test(List<Integer> expected, BinaryTree<Integer> tree, Tuple tuple) {
AssertUtils.assertSameContentsInt(expected, RangeLookup.range(tree, tuple));
}
}