protected final RenderedImage getTestData(final int index) { return getTestData().get(index); }
public void testWriteNoOutput() { ImageWriter writer = createImageWriter(); try { writer.write(getTestData()); } catch (IllegalStateException ignore) { } catch (IOException e) { fail(e.getMessage()); } }
public void testWrite() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); try { writer.write(getTestData()); } catch (IOException e) { fail(e.getMessage()); } assertTrue("No image data written", buffer.size() > 0); }
public void testWrite2() { // Note: There's a difference between new ImageOutputStreamImpl and // ImageIO.createImageOutputStream... Make sure writers handle both // cases ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); try { writer.setOutput(ImageIO.createImageOutputStream(buffer)); writer.write(getTestData()); } catch (IOException e) { fail(e.getMessage()); } assertTrue("No image data written", buffer.size() > 0); }
@Test(expected = IllegalStateException.class) public void testWriteNoOutput() { ImageWriter writer = createImageWriter(); try { writer.write(getTestData(0)); } catch (IOException e) { fail(e.getMessage()); } }
@Test public void testWrite() throws IOException { ImageWriter writer = createImageWriter(); for (RenderedImage testData : getTestData()) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); try (ImageOutputStream stream = ImageIO.createImageOutputStream(buffer)) { writer.setOutput(stream); writer.write(drawSomething((BufferedImage) testData)); } catch (IOException e) { fail(e.getMessage()); } assertTrue("No image data written", buffer.size() > 0); } }
@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 testRemoveAllIIOWriteProgressListeners() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); writer.removeAllIIOWriteProgressListeners(); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... verifyZeroInteractions(listener); }
@Test public void testRemoveIIOWriteProgressListener() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); IIOWriteProgressListener listener = mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener(listener); writer.removeIIOWriteProgressListener(listener); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... verifyZeroInteractions(listener); }
@Test public void testRemoveAllIIOWriteProgressListenersMultiple() 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.removeAllIIOWriteProgressListeners(); try { writer.write(getTestData(0)); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... verifyZeroInteractions(listener); verifyZeroInteractions(listenerToo); } }
@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); }
public void testRemoveAllIIOWriteProgressListeners() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); Mock mockListener = new Mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); writer.removeAllIIOWriteProgressListeners(); try { writer.write(getTestData()); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... mockListener.verify(); }
public void testRemoveIIOWriteProgressListener() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); Mock mockListener = new Mock(IIOWriteProgressListener.class); IIOWriteProgressListener listener = (IIOWriteProgressListener) mockListener.proxy(); writer.addIIOWriteProgressListener(listener); writer.removeIIOWriteProgressListener(listener); try { writer.write(getTestData()); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... mockListener.verify(); }
@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); }
public void testRemoveAllIIOWriteProgressListenersMultiple() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); Mock mockListener = new Mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); Mock mockListenerToo = new Mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListenerToo.proxy()); writer.removeAllIIOWriteProgressListeners(); try { writer.write(getTestData()); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... mockListener.verify(); mockListenerToo.verify(); }
public void testAddIIOWriteProgressListenerCallbacks() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); Mock mockListener = new Mock(IIOWriteProgressListener.class); String started = "Started"; mockListener.expects(once()).method("imageStarted").withAnyArguments().id(started); mockListener.stubs().method("imageProgress").withAnyArguments().after(started); mockListener.expects(once()).method("imageComplete").withAnyArguments().after(started); writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); try { writer.write(getTestData()); } catch (IOException e) { fail("Could not write image"); } // At least imageStarted and imageComplete, plus any number of imageProgress mockListener.verify(); }
public void testRemoveIIOWriteProgressListenerMultiple() throws IOException { ImageWriter writer = createImageWriter(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); writer.setOutput(ImageIO.createImageOutputStream(buffer)); Mock mockListener = new Mock(IIOWriteProgressListener.class); writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); Mock mockListenerToo = new Mock(IIOWriteProgressListener.class); mockListenerToo.stubs().method("imageStarted").withAnyArguments(); mockListenerToo.stubs().method("imageProgress").withAnyArguments(); mockListenerToo.stubs().method("imageComplete").withAnyArguments(); writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListenerToo.proxy()); writer.removeIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); try { writer.write(getTestData()); } catch (IOException e) { fail("Could not write image"); } // Should not have called any methods... mockListener.verify(); mockListenerToo.verify(); }