@Test public void testAbort() { final ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); IIOReadProgressListener listener = mock(IIOReadProgressListener.class, "Progress1"); reader.addIIOReadProgressListener(listener); IIOReadProgressListener listenerToo = mock(IIOReadProgressListener.class, "Progress2"); reader.addIIOReadProgressListener(listenerToo); // Create a listener that just makes the reader abort immediately... IIOReadProgressListener abortingListener = mock(IIOReadProgressListener.class, "Aborter"); Answer<Void> abort = new Answer<Void>() { public Void answer(InvocationOnMock invocation) throws Throwable { reader.abort(); return null; } }; doAnswer(abort).when(abortingListener).imageStarted(any(ImageReader.class), anyInt()); doAnswer(abort).when(abortingListener).imageProgress(any(ImageReader.class), anyInt()); reader.addIIOReadProgressListener(abortingListener); try { reader.read(0); } catch (IOException e) { failBecause("Image could not be read", e); } verify(listener).readAborted(reader); verify(listenerToo).readAborted(reader); reader.dispose(); }
@Test public void testAbort() { final ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); IIOReadProgressListener listener = mock(IIOReadProgressListener.class, "Progress1"); reader.addIIOReadProgressListener(listener); IIOReadProgressListener listenerToo = mock(IIOReadProgressListener.class, "Progress2"); reader.addIIOReadProgressListener(listenerToo); // Create a listener that just makes the reader abort immediately... IIOReadProgressListener abortingListener = mock(IIOReadProgressListener.class, "Aborter"); Answer<Void> abort = new Answer<Void>() { public Void answer(InvocationOnMock invocation) throws Throwable { reader.abort(); return null; } }; doAnswer(abort).when(abortingListener).imageStarted(any(ImageReader.class), anyInt()); doAnswer(abort).when(abortingListener).imageProgress(any(ImageReader.class), anyInt()); reader.addIIOReadProgressListener(abortingListener); try { reader.read(0); } catch (IOException e) { failBecause("Image could not be read", e); } verify(listener).readAborted(reader); verify(listenerToo).readAborted(reader); }