@Test public void testAddIIOWriteProgressListenerCallbacks() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // At least imageStarted and imageComplete, plus any number of imageProgress InOrder ordered = inOrder(listener); ordered.verify(listener).imageStarted(writer, 0); ordered.verify(listener, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listener).imageComplete(writer); }
@Test public void testMultipleAddIIOWriteProgressListenerCallbacks() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); IIOWriteProgressListener listenerToo = mock(IIOWriteProgressListener.class); IIOWriteProgressListener listenerThree = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); writer.addIIOWriteProgressListener(listenerToo); writer.addIIOWriteProgressListener(listenerThree); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // At least imageStarted and imageComplete, plus any number of imageProgress InOrder ordered = inOrder(listener, listenerToo, listenerThree); ordered.verify(listener).imageStarted(writer, 0); ordered.verify(listenerToo).imageStarted(writer, 0); ordered.verify(listenerThree).imageStarted(writer, 0); ordered.verify(listener, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listenerToo, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listenerThree, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listener).imageComplete(writer); ordered.verify(listenerToo).imageComplete(writer); ordered.verify(listenerThree).imageComplete(writer); }
@Test public void testRemoveIIOWriteProgressListenerMultiple() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); IIOWriteProgressListener listenerToo = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listenerToo); writer.removeIIOWriteProgressListener(listener); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... verifyZeroInteractions(listener); // At least imageStarted and imageComplete, plus any number of imageProgress InOrder ordered = inOrder(listenerToo); ordered.verify(listenerToo).imageStarted(writer, 0); ordered.verify(listenerToo, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listenerToo).imageComplete(writer); }
@Test public void testAddIIOWriteProgressListenerCallbacks() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // At least imageStarted and imageComplete, plus any number of imageProgress InOrder ordered = inOrder(listener); ordered.verify(listener).imageStarted(writer, 0); ordered.verify(listener, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listener).imageComplete(writer); }
@Test public void testMultipleAddIIOWriteProgressListenerCallbacks() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); IIOWriteProgressListener listenerToo = mock(IIOWriteProgressListener.class); IIOWriteProgressListener listenerThree = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); writer.addIIOWriteProgressListener(listenerToo); writer.addIIOWriteProgressListener(listenerThree); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // At least imageStarted and imageComplete, plus any number of imageProgress InOrder ordered = inOrder(listener, listenerToo, listenerThree); ordered.verify(listener).imageStarted(writer, 0); ordered.verify(listenerToo).imageStarted(writer, 0); ordered.verify(listenerThree).imageStarted(writer, 0); ordered.verify(listener, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listenerToo, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listenerThree, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listener).imageComplete(writer); ordered.verify(listenerToo).imageComplete(writer); ordered.verify(listenerThree).imageComplete(writer); }
@Test public void testRemoveIIOWriteProgressListenerMultiple() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); IIOWriteProgressListener listenerToo = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listenerToo); writer.removeIIOWriteProgressListener(listener); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... verifyZeroInteractions(listener); // At least imageStarted and imageComplete, plus any number of imageProgress InOrder ordered = inOrder(listenerToo); ordered.verify(listenerToo).imageStarted(writer, 0); ordered.verify(listenerToo, atLeastOnce()).imageProgress(eq(writer), anyInt()); ordered.verify(listenerToo).imageComplete(writer); }