@Test
public void lastIndexOfComparatorTList() {

	List<Integer> list = new ArrayList<>();
	list.addAll(Arrays.asList(1, 4, 6, 6, 6, 12, 30));
	assertEquals(-1, ListUtil.lastIndexOf(list, new NaturalOrderComparator<Integer>(), -2));
	assertEquals(-1, ListUtil.lastIndexOf(list, new NaturalOrderComparator<Integer>(), 34));
	assertEquals(-1, ListUtil.lastIndexOf(list, new NaturalOrderComparator<Integer>(), 7));
	assertEquals(0, ListUtil.lastIndexOf(list, new NaturalOrderComparator<Integer>(), 1));
	assertEquals(1, ListUtil.lastIndexOf(list, new NaturalOrderComparator<Integer>(), 4));
	assertEquals(4, ListUtil.lastIndexOf(list, new NaturalOrderComparator<Integer>(), 6));
	assertEquals(5, ListUtil.lastIndexOf(list, new NaturalOrderComparator<Integer>(), 12));
	assertEquals(6, ListUtil.lastIndexOf(list, new NaturalOrderComparator<Integer>(), 30));
	
	Iterator<Integer> iterator = list.iterator();
	assertEquals(Integer.valueOf(1), iterator.next());
	assertEquals(Integer.valueOf(4), iterator.next());
	assertEquals(Integer.valueOf(6), iterator.next());
	assertEquals(Integer.valueOf(6), iterator.next());
	assertEquals(Integer.valueOf(6), iterator.next());
	assertEquals(Integer.valueOf(12), iterator.next());
	assertEquals(Integer.valueOf(30), iterator.next());
	assertFalse(iterator.hasNext());
}