@Test
public void testTailSet() {

    IntegerUnion iu = new IntegerUnion(Arrays.asList(5, 10, 11, 12, 13, 45, 46));
    SortedSet<Integer> tail = iu.tailSet(11);
    assertArrayEquals(new Integer[] {11, 12, 13, 45, 46}, tail.toArray());
    tail = iu.tailSet(45);
    assertArrayEquals(new Integer[] {45, 46}, tail.toArray());
    tail = iu.tailSet(10);
    assertArrayEquals(new Integer[] {10, 11, 12, 13, 45, 46}, tail.toArray());
    tail = iu.tailSet(46);
    assertArrayEquals(new Integer[] {46}, tail.toArray());
    tail = iu.tailSet(20);
    assertArrayEquals(new Integer[] {45, 46}, tail.toArray());
}