X Tutup
package testsupport; import org.mockito.stubbing.Answer; import java.util.Iterator; import static java.util.Arrays.asList; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class Mocking { @SuppressWarnings("unchecked") public static Iterable mockIterable() { Iterable iterable = (Iterable) mock(Iterable.class); when(iterable.iterator()).thenReturn((Iterator) mock(Iterator.class)); return iterable; } @SafeVarargs public static void mockIteratorToHaveValues(Iterator iterator, T... values) { Iterator real = asList(values).iterator(); when(iterator.hasNext()).then(delegateTo(real)); when(iterator.next()).then(delegateTo(real)); } public static Answer delegateTo(final Object real) { return invocation -> invocation.getMethod().invoke(real); } }
X Tutup