@Test
public void testSearch() {
int[] a = new int[] { 1, 2, 4, 4, 4, 5, 0 };
SimpleSortable sortable = new SimpleSortable(a, a.length - 1);
a[a.length - 1] = 4;
assertThat(DataUtils.binarySearch(sortable), is(2));
a[a.length - 1] = 5;
assertThat(DataUtils.binarySearch(sortable), is(5));
a[a.length - 1] = -5;
assertThat(DataUtils.binarySearch(sortable), is(0));
a[a.length - 1] = 10;
assertThat(DataUtils.binarySearch(sortable), is(6));
a[a.length - 1] = 3;
assertThat(DataUtils.binarySearch(sortable), is(2));
}