RangeIteratorFacade implements RangeIterator { @Override public final long getPosition() { return delegate.getPosition(); } RangeIteratorFacade(final @NotNull R delegate); @Override final void skip(long skipNum); @Override final long getSize(); @Override final long getPosition(); @Override final boolean hasNext(); @Override Object next();  }
@Test public void testGetPosition() { RangeIterator delegate = mock(RangeIterator.class); RangeIteratorFacade<RangeIterator> facade = getFacade(delegate); final long position = 10L; when(delegate.getPosition()).thenReturn(position); assertEquals("should be equal", position, facade.getPosition()); }