### Question:
AbstractRange implements Range<C, R> { @Override public Iterator<C> iterator() { return new RangeIterator(); } protected  AbstractRange(C start, C end); @Override C start(); @Override C end(); @Override boolean contains(R other); @Override boolean contains(C value); @Override boolean overlaps(R other); @Override boolean isConsecutive(R other); @Override boolean isEmpty(); @Override R merge(R other); @Override R intersection(R other); @SuppressWarnings({"unchecked"}) @Override List<R> exclude(R other); @Override boolean isSameRange(R other); @Override String toString(); @Override Iterator<C> iterator(); @Override final boolean equals(Object o); @Override final int hashCode();  }### Answer:
@Test public abstract void testIterator();
@Test(expected = UnsupportedOperationException.class) public void testIteratorDoesNotSupportRemove() { getTestRange(from("1"), to("10")).iterator().remove(); }