@Test public void testDisposeBeforeRead() { ImageReader reader = createReader(); reader.dispose(); // Just pass with no exceptions }
@Test public void testRemoveIIOReadProgressListenerNone() { ImageReader reader = createReader(); reader.removeIIOReadProgressListener(mock(IIOReadProgressListener.class)); reader.dispose(); }
@Test public void testSetInputNull() { // Should just pass with no exceptions ImageReader reader = createReader(); assertNotNull(reader); reader.setInput(null); reader.dispose(); }
@Test public void testAddIIOReadProgressListener() { ImageReader reader = createReader(); reader.addIIOReadProgressListener(mock(IIOReadProgressListener.class)); reader.dispose(); }
@Test public void testDisposeAfterRead() { ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); reader.dispose(); // Just pass with no exceptions }
@Test public void testNotBadCaching() throws IOException { T reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); BufferedImage one = reader.read(0); BufferedImage two = reader.read(0); assertNotSame("Multiple reads return same (mutable) image", one, two); one.setRGB(0, 0, Color.BLUE.getRGB()); two.setRGB(0, 0, Color.RED.getRGB()); assertTrue(one.getRGB(0, 0) != two.getRGB(0, 0)); reader.dispose(); }
@Test public void testAddIIOReadProgressListenerNull() { ImageReader reader = createReader(); reader.addIIOReadProgressListener(null); reader.dispose(); }
@Test public void testRemoveIIOReadProgressListenerNull() { ImageReader reader = createReader(); reader.removeIIOReadProgressListener(null); reader.dispose(); }
@Test public void testReRead() throws IOException { ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream(), false); // Explicitly allow repositioning, even though it's the default BufferedImage first = reader.read(0); assertNotNull(first); BufferedImage second = reader.read(0); assertNotNull(second); // TODO: These images should be exactly the same, but there's no equals for images assertEquals(first.getType(), second.getType()); assertEquals(first.getWidth(), second.getWidth()); assertEquals(first.getHeight(), second.getHeight()); reader.dispose(); }
@Test public void testSetInput() { // Should just pass with no exceptions ImageReader reader = createReader(); assertNotNull(reader); for (TestData data : getTestData()) { reader.setInput(data.getInputStream()); } reader.dispose(); }
@Test public void testGetMinIndex() { ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); int num = 0; try { num = reader.getMinIndex(); } catch (IllegalStateException ignore) { } assertEquals(0, num); reader.dispose(); }
@Test public void testGetFormatName() { ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); String name = null; try { name = reader.getFormatName(); } catch (IOException e) { fail(e.getMessage()); } assertNotNull(name); reader.dispose(); }
@Test public void testGetAspectRatio() { ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); float aspectRatio = 0f; try { aspectRatio = reader.getAspectRatio(0); } catch (IOException e) { fail("Could not read image aspect ratio" + e); } Dimension d = data.getDimension(0); assertEquals("Wrong aspect aspect ratio", d.getWidth() / d.getHeight(), aspectRatio, 0.001); reader.dispose(); }
@Test public void testGetDefaultReadParam() { ImageReader reader = createReader(); ImageReadParam param = reader.getDefaultReadParam(); assertNotNull(param); reader.dispose(); }
@Test public void testGetMinIndexNoInput() { ImageReader reader = createReader(); int num = 0; try { num = reader.getMinIndex(); } catch (IllegalStateException ignore) { } assertEquals(0, num); reader.dispose(); }
@Test public void testSetDestinationOffset() throws IOException { final ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); ImageReadParam param = reader.getDefaultReadParam(); Point point = new Point(37, 42); param.setDestinationOffset(point); BufferedImage image = reader.read(0, param); assertNotNull(image); assertEquals(reader.getWidth(0) + point.x, image.getWidth()); assertEquals(reader.getHeight(0) + point.y, image.getHeight()); reader.dispose(); }
@Test public void testGetWidth() { ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); int width = 0; try { width = reader.getWidth(0); } catch (IOException e) { fail("Could not read image width: " + e); } assertEquals("Wrong width reported", data.getDimension(0).width, width); reader.dispose(); }
@Test public void testGetHeight() { ImageReader reader = createReader(); TestData data = getTestData().get(0); reader.setInput(data.getInputStream()); int height = 0; try { height = reader.getHeight(0); } catch (IOException e) { fail("Could not read image height: " + e); } assertEquals("Wrong height reported", data.getDimension(0).height, height); reader.dispose(); }
@Test public void testGetWidthNoInput() { ImageReader reader = createReader(); int width = 0; try { width = reader.getWidth(0); fail("Width read without imput"); } catch (IllegalStateException ignore) { } catch (IOException e) { fail("Could not read image width: " + e); } assertEquals("Wrong width reported", 0, width); reader.dispose(); }
@Test public void testProviderAndMetadataFormatNamesMatch() throws IOException { ImageReaderSpi provider = createProvider(); ImageReader reader = createReader(); reader.setInput(getTestData().get(0).getInputStream()); IIOMetadata imageMetadata = reader.getImageMetadata(0); if (imageMetadata != null) { assertEquals(provider.getNativeImageMetadataFormatName(), imageMetadata.getNativeMetadataFormatName()); } IIOMetadata streamMetadata = reader.getStreamMetadata(); if (streamMetadata != null) { assertEquals(provider.getNativeStreamMetadataFormatName(), streamMetadata.getNativeMetadataFormatName()); } reader.dispose(); }