Upgrade to Junit5 (#1050)

* chore: Update to junit5 for servlet package

* chore: Update to junit5 for contrib package

* chore: Update to junit5 for common-image package

* chore: Update to junit5 for common-lang package

* chore: Update to junit5 for entire project files

* fix: test case for JPEGImageReaderTest failed for java 8 and 11

assertEquals was using old signature of junit4.

* Update common/common-io/src/test/java/com/twelvemonkeys/io/InputStreamAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update common/common-io/src/test/java/com/twelvemonkeys/io/InputStreamAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageMetadataTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/stream/BufferedChannelImageInputStreamTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/stream/BufferedChannelImageInputStreamTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* refactor: few indentation changes and missed test case

- review change related to missing test annotation
- unwanted new lines inside test case
- duplicate assertions

* refactor: moved the lambda expression to method reference

* review: testNotNullWithParameterNull catch block was never executed.

Added the suggested change

* Apply suggestions from code review

chore: adjust suggested indentation

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageWriterAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* refactor: using assertTimeout doesnot kill the execution, even if the timeout happens.

It is better to use assertTimeoutPreemptively in cases, where we really want to kill the execution after timeout.
https://stackoverflow.com/questions/57116801/how-to-fail-a-test-after-a-timeout-is-exceeded-in-junit-5/57116959#57116959

---------

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>
This commit is contained in:
Vyshak Puthusseri
2024-11-12 14:43:15 +05:30
committed by GitHub
parent a67fdd4b80
commit 543acce8a3
194 changed files with 2554 additions and 3086 deletions
@@ -34,8 +34,6 @@ import com.twelvemonkeys.imageio.metadata.tiff.TIFF;
import com.twelvemonkeys.imageio.stream.ByteArrayImageInputStream;
import com.twelvemonkeys.imageio.util.ImageWriterAbstractTest;
import org.junit.Test;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.spi.ImageWriterSpi;
@@ -49,7 +47,9 @@ import java.util.Arrays;
import java.util.List;
import static com.twelvemonkeys.imageio.util.ImageReaderAbstractTest.assertRGBEquals;
import static org.junit.Assert.assertArrayEquals;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* BigTIFFImageWriterTest
@@ -30,15 +30,13 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.nio.ByteOrder;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* BitPaddingStreamTest.
@@ -49,24 +47,24 @@ import static org.junit.Assert.assertEquals;
*/
public class BitPaddingStreamTest {
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateNullStream() {
new BitPaddingStream(null, 1, 12, 4, ByteOrder.BIG_ENDIAN);
assertThrows(IllegalArgumentException.class, () -> new BitPaddingStream(null, 1, 12, 4, ByteOrder.BIG_ENDIAN));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateBadBits() {
new BitPaddingStream(new ByteArrayInputStream(new byte[6]), 1, 7, 4, ByteOrder.BIG_ENDIAN);
assertThrows(IllegalArgumentException.class, () -> new BitPaddingStream(new ByteArrayInputStream(new byte[6]), 1, 7, 4, ByteOrder.BIG_ENDIAN));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateBadBitsLarge() {
new BitPaddingStream(new ByteArrayInputStream(new byte[6]), 1, 37, 4, ByteOrder.BIG_ENDIAN);
assertThrows(IllegalArgumentException.class, () -> new BitPaddingStream(new ByteArrayInputStream(new byte[6]), 1, 37, 4, ByteOrder.BIG_ENDIAN));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateNullByteOrder() {
new BitPaddingStream(new ByteArrayInputStream(new byte[6]), 1, 12, 4, null);
assertThrows(IllegalArgumentException.class, () -> new BitPaddingStream(new ByteArrayInputStream(new byte[6]), 1, 12, 4, null));
}
@Test
@@ -30,16 +30,16 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import org.junit.Before;
import org.junit.Test;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.io.*;
import java.util.Arrays;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* CCITTFaxDecoderStreamTest
@@ -138,7 +138,7 @@ public class CCITTFaxDecoderStreamTest {
// 1 1 0 0 1 1 x x
final BufferedImage image = new BufferedImage(6, 4, BufferedImage.TYPE_BYTE_BINARY);
@Before
@BeforeEach
public void init() {
for (int y = 0; y < 4; y++) {
@@ -289,8 +289,8 @@ public class CCITTFaxDecoderStreamTest {
byte[] imageData = Arrays.copyOf(((DataBufferByte) image.getData().getDataBuffer()).getData(), 6);
assertArrayEquals(imageData, bytes);
assertEquals("Should contain no more data", -1, stream.read());
assertEquals("Should contain no more data", -1, stream.read(new byte[1]));
assertEquals(-1, stream.read(), "Should contain no more data");
assertEquals(-1, stream.read(new byte[1]), "Should contain no more data");
}
@Test
@@ -370,12 +370,14 @@ public class CCITTFaxDecoderStreamTest {
}
@SuppressWarnings("StatementWithEmptyBody")
@Test(expected = IOException.class)
@Test
public void testAIOBEInCorruptStreamShouldThrowIOException() throws IOException {
// From #645
try (InputStream ccittFaxDecoderStream = new CCITTFaxDecoderStream(getResourceAsStream("/ccitt/645.ccitt"), 7, 4, 0, false)) {
while(ccittFaxDecoderStream.read() != -1); // Just read until the end
}
assertThrows(IOException.class, () -> {
try (InputStream ccittFaxDecoderStream = new CCITTFaxDecoderStream(getResourceAsStream("/ccitt/645.ccitt"), 7, 4, 0, false)) {
while (ccittFaxDecoderStream.read() != -1) ; // Just read until the end
}
});
}
@Test
@@ -31,8 +31,6 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.imageio.plugins.tiff.CCITTFaxEncoderStream.Code;
import org.junit.Before;
import org.junit.Test;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
@@ -46,7 +44,10 @@ import java.io.*;
import java.net.URL;
import java.util.Arrays;
import static org.junit.Assert.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* CCITTFaxEncoderStreamTest
@@ -64,7 +65,7 @@ public class CCITTFaxEncoderStreamTest {
// 1 1 0 0 1 1 x x
BufferedImage image;
@Before
@BeforeEach
public void init() {
image = new BufferedImage(6, 4, BufferedImage.TYPE_BYTE_BINARY);
for (int y = 0; y < 4; y++) {
@@ -33,14 +33,13 @@ package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.image.ResampleOp;
import com.twelvemonkeys.imageio.color.ColorSpaces;
import org.junit.Test;
import java.awt.*;
import java.awt.color.ColorSpace;
import java.awt.image.*;
import java.util.Hashtable;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.Assert.*;
public class ExtraSamplesColorModelTest {
@@ -33,13 +33,12 @@ package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.io.FastByteArrayOutputStream;
import com.twelvemonkeys.io.LittleEndianDataInputStream;
import com.twelvemonkeys.io.LittleEndianDataOutputStream;
import org.junit.Test;
import java.io.*;
import java.nio.ByteOrder;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
/**
* HorizontalDeDifferencingStreamTest
@@ -33,13 +33,13 @@ package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.io.FastByteArrayOutputStream;
import com.twelvemonkeys.io.LittleEndianDataInputStream;
import com.twelvemonkeys.io.LittleEndianDataOutputStream;
import org.junit.Test;
import java.io.*;
import java.nio.ByteOrder;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* HorizontalDifferencingStreamTest
@@ -35,15 +35,16 @@ import com.twelvemonkeys.io.enc.Decoder;
import com.twelvemonkeys.io.enc.DecoderAbstractTest;
import com.twelvemonkeys.io.enc.DecoderStream;
import com.twelvemonkeys.io.enc.Encoder;
import org.junit.Ignore;
import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.time.Duration;
import static org.junit.Assert.*;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* LZWDecoderTest
@@ -90,7 +91,7 @@ public class LZWDecoderTest extends DecoderAbstractTest {
while ((data = actual.read()) != -1) {
count++;
assertEquals(String.format("Incorrect data at offset 0x%04x", count), expected.read(), data);
assertEquals(expected.read(), data, String.format("Incorrect data at offset 0x%04x", count));
}
assertEquals(-1, data);
@@ -112,24 +113,26 @@ public class LZWDecoderTest extends DecoderAbstractTest {
return null;
}
@Ignore
@Test(timeout = 3000)
@Disabled
@Test
public void testSpeed() throws IOException {
byte[] bytes = FileUtil.read(getClass().getResourceAsStream("/lzw/lzw-long.bin"));
assertTimeoutPreemptively(Duration.ofMillis(3000), () -> {
byte[] bytes = FileUtil.read(getClass().getResourceAsStream("/lzw/lzw-long.bin"));
for (int i = 0; i < SPEED_TEST_ITERATIONS; i++) {
ByteBuffer buffer = ByteBuffer.allocate(1024);
ByteArrayInputStream input = new ByteArrayInputStream(bytes);
LZWDecoder decoder = new LZWDecoder.LZWSpecDecoder();
for (int i = 0; i < SPEED_TEST_ITERATIONS; i++) {
ByteBuffer buffer = ByteBuffer.allocate(1024);
ByteArrayInputStream input = new ByteArrayInputStream(bytes);
LZWDecoder decoder = new LZWDecoder.LZWSpecDecoder();
int read, total = 0;
while((read = decoder.decode(input, buffer)) > 0) {
buffer.clear();
total += read;
int read, total = 0;
while ((read = decoder.decode(input, buffer)) > 0) {
buffer.clear();
total += read;
}
assertEquals(49152, total);
}
assertEquals(49152, total);
}
});
}
}
@@ -32,16 +32,18 @@ package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.io.FastByteArrayOutputStream;
import com.twelvemonkeys.io.enc.Decoder;
import org.junit.Ignore;
import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.time.Duration;
import java.util.Random;
import static org.junit.Assert.assertEquals;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* LZWEncoderTest
@@ -84,7 +86,7 @@ public class LZWEncoderTest {
buffer.flip();
while (buffer.hasRemaining()) {
assertEquals(String.format("Diff at index %s", index), bytes[index], buffer.get());
assertEquals(bytes[index], buffer.get(), String.format("Diff at index %s", index));
index++;
}
@@ -123,7 +125,7 @@ public class LZWEncoderTest {
while (buffer.hasRemaining()) {
byte expected = bytes[index];
byte actual = buffer.get();
assertEquals(String.format("Diff at index %s: 0x%02x != 0x%02x", index, expected, actual), expected, actual);
assertEquals(expected, actual, String.format("Diff at index %s: 0x%02x != 0x%02x", index, expected, actual));
index++;
}
@@ -161,7 +163,7 @@ public class LZWEncoderTest {
while (buffer.hasRemaining()) {
byte expected = bytes[index];
byte actual = buffer.get();
assertEquals(String.format("Diff at index %s: 0x%02x != 0x%02x", index, expected, actual), expected, actual);
assertEquals(expected, actual, String.format("Diff at index %s: 0x%02x != 0x%02x", index, expected, actual));
// System.err.println(String.format("Equal at index %s: 0x%02x (%d)", index, expected & 0xff, expected));
index++;
}
@@ -174,24 +176,26 @@ public class LZWEncoderTest {
assertEquals(-1, inputStream.read());
}
@Ignore
@Test(timeout = 10000)
@Disabled
@Test
public void testSpeed() throws IOException {
for (int run = 0; run < SPEED_TEST_RUNS; run++) {
byte[] bytes = new byte[LENGTH];
LZWEncoder encoder = new LZWEncoder(bytes.length);
assertTimeoutPreemptively(Duration.ofMillis(10000), () -> {
for (int run = 0; run < SPEED_TEST_RUNS; run++) {
byte[] bytes = new byte[LENGTH];
LZWEncoder encoder = new LZWEncoder(bytes.length);
for (int i = 0; i < bytes.length; i++) {
bytes[i] = (byte) i;
for (int i = 0; i < bytes.length; i++) {
bytes[i] = (byte) i;
}
FastByteArrayOutputStream stream = new FastByteArrayOutputStream((LENGTH * 3) / 4);
for (int i = 0; i < ITERATIONS; i++) {
encoder.encode(stream, ByteBuffer.wrap(bytes, i * LENGTH / ITERATIONS, LENGTH / ITERATIONS));
}
assertEquals(719, stream.size());
}
FastByteArrayOutputStream stream = new FastByteArrayOutputStream((LENGTH * 3) / 4);
for (int i = 0; i < ITERATIONS; i++) {
encoder.encode(stream, ByteBuffer.wrap(bytes, i * LENGTH / ITERATIONS, LENGTH / ITERATIONS));
}
assertEquals(719, stream.size());
}
});
}
}
@@ -30,8 +30,9 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import static com.twelvemonkeys.imageio.plugins.tiff.TIFFImageMetadataFormat.SUN_NATIVE_IMAGE_METADATA_FORMAT_NAME;
import static org.junit.Assert.*;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.net.URL;
import java.util.Collections;
@@ -46,7 +47,6 @@ import javax.imageio.metadata.IIOMetadataNode;
import javax.imageio.spi.IIORegistry;
import javax.imageio.stream.ImageInputStream;
import org.junit.Test;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -373,28 +373,28 @@ public class TIFFImageMetadataTest {
assertEquals(TIFFBaseline.RESOLUTION_UNIT_NONE, ((Number) ifd.getEntryById(TIFF.TAG_RESOLUTION_UNIT).getValue()).intValue());
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testMergeTreeUnsupportedFormat() throws IOException {
IIOMetadata metadata = createMetadata("/tiff/sm_colors_tile.tif");
String nativeFormat = "com_foo_bar_tiff_42";
metadata.mergeTree(nativeFormat, new IIOMetadataNode(nativeFormat));
assertThrows(IllegalArgumentException.class, () -> metadata.mergeTree(nativeFormat, new IIOMetadataNode(nativeFormat)));
}
@Test(expected = IIOInvalidTreeException.class)
@Test
public void testMergeTreeFormatMisMatch() throws IOException {
IIOMetadata metadata = createMetadata("/tiff/sm_colors_tile.tif");
String nativeFormat = SUN_NATIVE_IMAGE_METADATA_FORMAT_NAME;
metadata.mergeTree(nativeFormat, new IIOMetadataNode("com_foo_bar_tiff_42"));
assertThrows(IIOInvalidTreeException.class, () -> metadata.mergeTree(nativeFormat, new IIOMetadataNode("com_foo_bar_tiff_42")));
}
@Test(expected = IIOInvalidTreeException.class)
@Test
public void testMergeTreeInvalid() throws IOException {
IIOMetadata metadata = createMetadata("/tiff/sm_colors_tile.tif");
String nativeFormat = SUN_NATIVE_IMAGE_METADATA_FORMAT_NAME;
metadata.mergeTree(nativeFormat, new IIOMetadataNode(nativeFormat)); // Requires at least one child node
assertThrows(IIOInvalidTreeException.class, () ->metadata.mergeTree(nativeFormat, new IIOMetadataNode(nativeFormat))); // Requires at least one child node
}
// TODO: Test that failed merge leaves metadata unchanged
@@ -489,28 +489,28 @@ public class TIFFImageMetadataTest {
assertEquals(copyrightString, ifd.getEntryById(TIFF.TAG_COPYRIGHT).getValue());
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testSetFromTreeUnsupportedFormat() throws IOException {
IIOMetadata metadata = createMetadata("/tiff/sm_colors_tile.tif");
String nativeFormat = "com_foo_bar_tiff_42";
metadata.setFromTree(nativeFormat, new IIOMetadataNode(nativeFormat));
assertThrows(IllegalArgumentException.class, () -> metadata.setFromTree(nativeFormat, new IIOMetadataNode(nativeFormat)));
}
@Test(expected = IIOInvalidTreeException.class)
@Test
public void testSetFromTreeFormatMisMatch() throws IOException {
IIOMetadata metadata = createMetadata("/tiff/sm_colors_tile.tif");
String nativeFormat = SUN_NATIVE_IMAGE_METADATA_FORMAT_NAME;
metadata.setFromTree(nativeFormat, new IIOMetadataNode("com_foo_bar_tiff_42"));
assertThrows(IIOInvalidTreeException.class, () -> metadata.setFromTree(nativeFormat, new IIOMetadataNode("com_foo_bar_tiff_42")));
}
@Test(expected = IIOInvalidTreeException.class)
@Test
public void testSetFromTreeInvalid() throws IOException {
IIOMetadata metadata = createMetadata("/tiff/sm_colors_tile.tif");
String nativeFormat = SUN_NATIVE_IMAGE_METADATA_FORMAT_NAME;
metadata.setFromTree(nativeFormat, new IIOMetadataNode(nativeFormat)); // Requires at least one child node
assertThrows(IIOInvalidTreeException.class, () -> metadata.setFromTree(nativeFormat, new IIOMetadataNode(nativeFormat))); // Requires at least one child nod
}
@Test
@@ -594,26 +594,26 @@ public class TIFFImageMetadataTest {
Element field = (Element) fields.item(i);
if (tagNumber.equals(field.getAttribute("number"))) {
assertFalse("Duplicate tag " + tagNumber + " found", foundTag);
assertFalse(foundTag, "Duplicate tag " + tagNumber + " found");
assertEquals(1, field.getChildNodes().getLength());
Node containerNode = field.getFirstChild();
assertEquals("TIFF" + typeName + "s", containerNode.getNodeName());
NodeList valueNodes = containerNode.getChildNodes();
assertEquals("Unexpected number of values for tag " + tagNumber, expectedValue.length, valueNodes.getLength());
assertEquals(expectedValue.length, valueNodes.getLength(), "Unexpected number of values for tag " + tagNumber);
for (int j = 0; j < expectedValue.length; j++) {
Element valueNode = (Element) valueNodes.item(j);
assertEquals("TIFF" + typeName, valueNode.getNodeName());
assertEquals("Unexpected tag " + tagNumber + " value", expectedValue[j], valueNode.getAttribute("value"));
assertEquals(expectedValue[j], valueNode.getAttribute("value"), "Unexpected tag " + tagNumber + " value");
}
foundTag = true;
}
}
assertTrue("No tag " + tagNumber + " found", foundTag);
assertTrue(foundTag, "No tag " + tagNumber + " found");
}
static void createTIFFFieldNode(final IIOMetadataNode parentIFDNode, int tag, short type, Object value) {
@@ -662,27 +662,27 @@ public class TIFFImageMetadataTest {
}
private void assertNodeEquals(final String message, final Node expected, final Node actual) {
assertEquals(message + " class differs", expected.getClass(), actual.getClass());
assertEquals(message, expected.getNodeValue(), actual.getNodeValue());
assertEquals(expected.getClass(), actual.getClass(), message + " class differs");
assertEquals(expected.getNodeValue(), actual.getNodeValue(), message);
if (expected instanceof IIOMetadataNode) {
IIOMetadataNode expectedIIO = (IIOMetadataNode) expected;
IIOMetadataNode actualIIO = (IIOMetadataNode) actual;
assertEquals(message, expectedIIO.getUserObject(), actualIIO.getUserObject());
assertEquals(expectedIIO.getUserObject(), actualIIO.getUserObject(), message);
}
NodeList expectedChildNodes = expected.getChildNodes();
NodeList actualChildNodes = actual.getChildNodes();
assertEquals(message + " child length differs: " + toString(expectedChildNodes) + " != " + toString(actualChildNodes),
expectedChildNodes.getLength(), actualChildNodes.getLength());
assertEquals(expectedChildNodes.getLength(), actualChildNodes.getLength(),
message + " child length differs: " + toString(expectedChildNodes) + " != " + toString(actualChildNodes));
for (int i = 0; i < expectedChildNodes.getLength(); i++) {
Node expectedChild = expectedChildNodes.item(i);
Node actualChild = actualChildNodes.item(i);
assertEquals(message + " node name differs", expectedChild.getLocalName(), actualChild.getLocalName());
assertEquals(expectedChild.getLocalName(), actualChild.getLocalName(), message + " node name differs");
assertNodeEquals(message + "/" + expectedChild.getLocalName(), expectedChild, actualChild);
}
}
@@ -33,8 +33,6 @@ package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.imageio.color.ColorSpaces;
import com.twelvemonkeys.imageio.util.ImageReaderAbstractTest;
import org.junit.Test;
import javax.imageio.IIOException;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
@@ -56,10 +54,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.AdditionalMatchers.and;
import static org.mockito.Mockito.*;
@@ -434,10 +432,10 @@ public class TIFFImageReaderTest extends ImageReaderAbstractTest<TIFFImageReader
for (int y = 0; y < 8; y++) {
for (int x = 0; x < 8; x++) {
int argb = image.getRGB(x, y);
assertEquals("Alpha", 0xff, (argb >>> 24) & 0xff);
assertEquals("Red", 0xff, (argb >> 16) & 0xff);
assertEquals("Green", 0xff, (argb >> 8) & 0xff, 13); // Depending on coeffs
assertEquals("Blue", 0xff, argb & 0xff);
assertEquals(0xff, (argb >>> 24) & 0xff, "Alpha");
assertEquals(0xff, (argb >> 16) & 0xff, "Red");
assertEquals(0xff, (argb >> 8) & 0xff, 13, "Green"); // Depending on coeffs
assertEquals(0xff, argb & 0xff, "Blue");
}
}
}
@@ -465,10 +463,10 @@ public class TIFFImageReaderTest extends ImageReaderAbstractTest<TIFFImageReader
for (int y = 0; y < 8; y++) {
for (int x = 0; x < 8; x++) {
int argb = image.getRGB(x, y);
assertEquals("Alpha", 0xff, (argb >>> 24) & 0xff);
assertEquals("Red", 0xff, (argb >> 16) & 0xff);
assertEquals("Green", 0xff, (argb >> 8) & 0xff);
assertEquals("Blue", 0xff, argb & 0xff);
assertEquals(0xff, (argb >>> 24) & 0xff, "Alpha");
assertEquals(0xff, (argb >> 16) & 0xff, "Red");
assertEquals(0xff, (argb >> 8) & 0xff, "Green");
assertEquals(0xff, argb & 0xff, "Blue");
}
}
}
@@ -640,7 +638,7 @@ public class TIFFImageReaderTest extends ImageReaderAbstractTest<TIFFImageReader
});
reader.read(0);
}
assertTrue("no correct guess for PhotometricInterpretation: " + results[i], foundWarning.get());
assertTrue(foundWarning.get(), "no correct guess for PhotometricInterpretation: " + results[i]);
}
}
@@ -1024,16 +1022,16 @@ public class TIFFImageReaderTest extends ImageReaderAbstractTest<TIFFImageReader
failBecause(String.format("Image %s index %s could not be read: %s", data.getInput(), i, e), e);
}
assertNotNull(String.format("Raster %s index %s was null!", data.getInput(), i), raster);
assertNotNull(raster, String.format("Raster %s index %s was null!", data.getInput(), i));
assertEquals(
String.format("Raster %s index %s has wrong width: %s", data.getInput(), i, raster.getWidth()),
data.getDimension(i).width,
raster.getWidth()
raster.getWidth(),
String.format("Raster %s index %s has wrong width: %s", data.getInput(), i, raster.getWidth())
);
assertEquals(
String.format("Raster %s index %s has wrong height: %s", data.getInput(), i, raster.getHeight()),
data.getDimension(i).height, raster.getHeight()
data.getDimension(i).height, raster.getHeight(),
String.format("Raster %s index %s has wrong height: %s", data.getInput(), i, raster.getHeight())
);
}
}
@@ -41,7 +41,6 @@ import com.twelvemonkeys.imageio.util.ImageTypeSpecifiers;
import com.twelvemonkeys.imageio.util.ImageWriterAbstractTest;
import com.twelvemonkeys.io.FastByteArrayOutputStream;
import org.junit.Test;
import org.w3c.dom.NodeList;
import javax.imageio.IIOImage;
@@ -79,8 +78,9 @@ import static com.twelvemonkeys.imageio.metadata.tiff.TIFF.TAG_Y_RESOLUTION;
import static com.twelvemonkeys.imageio.plugins.tiff.TIFFImageMetadataFormat.SUN_NATIVE_IMAGE_METADATA_FORMAT_NAME;
import static com.twelvemonkeys.imageio.plugins.tiff.TIFFImageMetadataTest.createTIFFFieldNode;
import static com.twelvemonkeys.imageio.util.ImageReaderAbstractTest.assertRGBEquals;
import static org.junit.Assert.*;
import static org.junit.Assume.assumeNotNull;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import static org.mockito.Mockito.*;
/**
@@ -148,7 +148,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
fail(e.getMessage());
}
assertTrue("No image data written", buffer.size() > 0);
assertTrue(buffer.size() > 0, "No image data written");
Directory ifds = new TIFFReader().read(new ByteArrayImageInputStream(buffer.toByteArray()));
@@ -219,7 +219,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
fail(e.getMessage());
}
assertTrue("No image data written", buffer.size() > 0);
assertTrue(buffer.size() > 0, "No image data written");
Directory ifds = new TIFFReader().read(new ByteArrayImageInputStream(buffer.toByteArray()));
Entry software = ifds.getEntryById(TIFF.TAG_SOFTWARE);
@@ -267,7 +267,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
fail(e.getMessage());
}
assertTrue("No image data written", buffer.size() > 0);
assertTrue(buffer.size() > 0, "No image data written");
Directory ifds = new TIFFReader().read(new ByteArrayImageInputStream(buffer.toByteArray()));
@@ -318,7 +318,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
fail(e.getMessage());
}
assertTrue("No image data written", buffer.size() > 0);
assertTrue(buffer.size() > 0, "No image data written");
Directory ifds = new TIFFReader().read(new ByteArrayImageInputStream(buffer.toByteArray()));
Entry software = ifds.getEntryById(TIFF.TAG_SOFTWARE);
@@ -326,7 +326,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
assertEquals(softwareString, software.getValueAsString());
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testWriteIncompatibleCompression() throws IOException {
ImageWriter writer = createWriter();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
@@ -334,44 +334,42 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
try (ImageOutputStream output = ImageIO.createImageOutputStream(buffer)) {
writer.setOutput(output);
try {
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("CCITT T.6");
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("CCITT T.6");
// Use assertThrows to check for IOException
assertThrows(IllegalArgumentException.class, () -> {
writer.write(null, new IIOImage(new BufferedImage(8, 8, BufferedImage.TYPE_INT_RGB), null, null), param);
fail();
}
catch (IOException e) {
fail(e.getMessage());
}
});
}
}
@Test
public void testWriterCanWriteSequence() throws IOException {
ImageWriter writer = createWriter();
assertTrue("Writer should support sequence writing", writer.canWriteSequence());
assertTrue(writer.canWriteSequence(), "Writer should support sequence writing");
}
@Test(expected = IllegalStateException.class)
@Test
public void testWriteSequenceWithoutPrepare() throws IOException {
ImageWriter writer = createWriter();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
try (ImageOutputStream output = ImageIO.createImageOutputStream(buffer)) {
writer.setOutput(output);
writer.writeToSequence(new IIOImage(new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR), null, null), null);
assertThrows(IllegalStateException.class, () -> writer.writeToSequence(new IIOImage(new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR), null, null), null));
}
}
@Test(expected = IllegalStateException.class)
@Test
public void testEndSequenceWithoutPrepare() throws IOException {
ImageWriter writer = createWriter();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
try (ImageOutputStream output = ImageIO.createImageOutputStream(buffer)) {
writer.setOutput(output);
writer.endWriteSequence();
assertThrows(IllegalStateException.class, () -> writer.endWriteSequence());
}
}
@@ -422,7 +420,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
ImageReader reader = ImageIO.getImageReaders(input).next();
reader.setInput(input);
assertEquals("wrong image count", compression.length, reader.getNumImages(true));
assertEquals(compression.length, reader.getNumImages(true), "wrong image count");
for (int i = 0; i < reader.getNumImages(true); i++) {
assertImageEquals("image " + i + " differs", image, reader.read(i), 5); // Allow room for JPEG compression
@@ -539,7 +537,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
ImageReader reader = ImageIO.getImageReaders(input).next();
reader.setInput(input);
assertEquals("wrong image count", images.length, reader.getNumImages(true));
assertEquals(images.length, reader.getNumImages(true), "wrong image count");
for (int i = 0; i < reader.getNumImages(true); i++) {
assertImageEquals("image " + i + " differs", images[i], reader.read(i), 5); // Allow room for JPEG compression
@@ -609,7 +607,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
TIFFImageMetadata metadata = (TIFFImageMetadata) reader.getImageMetadata(0);
Directory ifd = metadata.getIFD();
assertNull("Unexpected ICC profile for default gray", ifd.getEntryById(TIFF.TAG_ICC_PROFILE));
assertNull(ifd.getEntryById(TIFF.TAG_ICC_PROFILE), "Unexpected ICC profile for default gray");
}
}
@@ -649,8 +647,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
original = reader.readAll(0, null);
reader.dispose();
}
assumeNotNull(original);
assumeTrue(original != null);
// Write it back, using same compression (copied from metadata)
FastByteArrayOutputStream buffer = new FastByteArrayOutputStream(32768);
@@ -698,7 +695,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
}
}
assertTrue("Software metadata not found", softwareFound);
assertTrue(softwareFound, "Software metadata not found");
}
}
@@ -715,7 +712,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
reader.dispose();
}
assumeNotNull(original);
assumeTrue(original != null);
// Write it back, using deflate compression
FastByteArrayOutputStream buffer = new FastByteArrayOutputStream(32768);
@@ -762,7 +759,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
}
}
assertTrue("Software metadata not found", softwareFound);
assertTrue(softwareFound, "Software metadata not found");
}
}
@@ -779,7 +776,8 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
reader.dispose();
}
assumeNotNull(original);
assumeTrue(original!= null);
// Write it back, no compression
FastByteArrayOutputStream buffer = new FastByteArrayOutputStream(32768);
@@ -827,7 +825,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
}
}
assertTrue("Software metadata not found", softwareFound);
assertTrue(softwareFound, "Software metadata not found");
}
}
@@ -844,7 +842,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
reader.dispose();
}
assumeNotNull(original);
assumeTrue(original != null);
// Write it back, using same compression (copied from metadata)
FastByteArrayOutputStream buffer = new FastByteArrayOutputStream(32768);
@@ -887,7 +885,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
}
}
assertTrue("Software metadata not found", softwareFound);
assertTrue(softwareFound, "Software metadata not found");
}
}
@@ -904,7 +902,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
reader.dispose();
}
assumeNotNull(original);
assumeTrue(original != null);
// Write it back, using same compression (copied from metadata)
FastByteArrayOutputStream buffer = new FastByteArrayOutputStream(32768);
@@ -951,7 +949,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
}
}
assertTrue("Software metadata not found", softwareFound);
assertTrue(softwareFound, "Software metadata not found");
}
}
@@ -968,7 +966,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
reader.dispose();
}
assumeNotNull(original);
assumeTrue(original != null);
// Write it back, using same compression (copied from metadata)
FastByteArrayOutputStream buffer = new FastByteArrayOutputStream(32768);
@@ -1019,7 +1017,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
}
}
assertTrue("Software metadata not found", softwareFound);
assertTrue(softwareFound, "Software metadata not found");
}
}
@@ -1059,10 +1057,10 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
}
private void assertImageEquals(final String message, final BufferedImage expected, final BufferedImage actual, final int tolerance) {
assertNotNull(message, expected);
assertNotNull(message, actual);
assertEquals(message + ", widths differ", expected.getWidth(), actual.getWidth());
assertEquals(message + ", heights differ", expected.getHeight(), actual.getHeight());
assertNotNull(expected, message);
assertNotNull(actual, message);
assertEquals(expected.getWidth(), actual.getWidth(), message + ", widths differ");
assertEquals(expected.getHeight(), actual.getHeight(), message + ", heights differ");
for (int y = 0; y < expected.getHeight(); y++) {
for (int x = 0; x < expected.getWidth(); x++) {
@@ -1281,7 +1279,7 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
int numImages = reader.getNumImages(true);
assertEquals("Number of pages differs from original", infos.size(), numImages);
assertEquals(infos.size(), numImages, "Number of pages differs from original");
for (int i = 0; i < numImages; i++) {
IIOImage after = reader.readAll(i, null);
@@ -1293,14 +1291,14 @@ public class TIFFImageWriterTest extends ImageWriterAbstractTest<TIFFImageWriter
if (info.compression == TIFFExtension.COMPRESSION_OLD_JPEG) {
// Should rewrite this from old-style to new style
assertEquals("Old JPEG compression not rewritten as JPEG", TIFFExtension.COMPRESSION_JPEG, ((Number) afterCompressionEntry.getValue()).intValue());
assertEquals(TIFFExtension.COMPRESSION_JPEG, ((Number) afterCompressionEntry.getValue()).intValue(), "Old JPEG compression not rewritten as JPEG");
}
else {
assertEquals("Compression differs from original", info.compression, ((Number) afterCompressionEntry.getValue()).intValue());
assertEquals(info.compression, ((Number) afterCompressionEntry.getValue()).intValue(), "Compression differs from original");
}
assertEquals("Image width differs from original", info.width, after.getRenderedImage().getWidth());
assertEquals("Image height differs from original", info.height, after.getRenderedImage().getHeight());
assertEquals(info.width, after.getRenderedImage().getWidth(), "Image width differs from original");
assertEquals(info.height, after.getRenderedImage().getHeight(), "Image height differs from original");
}
}
}
@@ -30,7 +30,6 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import org.junit.Test;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -46,7 +45,9 @@ import static java.nio.ByteOrder.BIG_ENDIAN;
import static java.nio.ByteOrder.LITTLE_ENDIAN;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.*;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
/**
@@ -55,9 +56,9 @@ import static org.mockito.Mockito.*;
public class TIFFStreamMetadataTest {
// Test that we configure byte order of stream correctly (MM + II)
@Test(expected = IllegalArgumentException.class)
@Test
public void testConfigureStreamNullStream() throws IIOInvalidTreeException {
TIFFStreamMetadata.configureStreamByteOrder(new TIFFStreamMetadata(), null);
assertThrows(IllegalArgumentException.class, () -> TIFFStreamMetadata.configureStreamByteOrder(new TIFFStreamMetadata(), null));
}
@Test
@@ -123,14 +124,14 @@ public class TIFFStreamMetadataTest {
}
// Test that we merge correctly with "forreign" metadata class, as long as format names are the same (MM + II)
@Test(expected = IllegalArgumentException.class)
@Test
public void testMergeNull() throws IIOInvalidTreeException {
new TIFFStreamMetadata().mergeTree(SUN_NATIVE_STREAM_METADATA_FORMAT_NAME, null);
assertThrows(IllegalArgumentException.class, () -> new TIFFStreamMetadata().mergeTree(SUN_NATIVE_STREAM_METADATA_FORMAT_NAME, null));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testMergeIllegal() throws IIOInvalidTreeException {
new TIFFStreamMetadata().mergeTree("com.foo.bar", createForeignTree(BIG_ENDIAN));
assertThrows(IllegalArgumentException.class, () -> new TIFFStreamMetadata().mergeTree("com.foo.bar", createForeignTree(BIG_ENDIAN)));
}
@Test
@@ -148,14 +149,14 @@ public class TIFFStreamMetadataTest {
assertEquals(BIG_ENDIAN, metadata.byteOrder);
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testGetAsTreeNull() {
new TIFFStreamMetadata().getAsTree(null);
assertThrows(IllegalArgumentException.class, () -> new TIFFStreamMetadata().getAsTree(null));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testGetAsTreeIllegal() {
new TIFFStreamMetadata().getAsTree("com.foo.bar");
assertThrows(IllegalArgumentException.class, () -> new TIFFStreamMetadata().getAsTree("com.foo.bar"));
}
@Test
@@ -31,7 +31,6 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.io.LittleEndianDataInputStream;
import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
@@ -39,9 +38,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* YCbCr16UpsamplerStreamTest
@@ -51,24 +49,24 @@ import static org.junit.Assert.assertEquals;
* @version $Id: YCbCr16UpsamplerStreamTest.java,v 1.0 31.01.13 14:35 haraldk Exp$
*/
public class YCbCr16UpsamplerStreamTest {
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateNullStream() {
new YCbCr16UpsamplerStream(null, new int[2], 7, 5, ByteOrder.LITTLE_ENDIAN);
assertThrows(IllegalArgumentException.class, () -> new YCbCr16UpsamplerStream(null, new int[2], 7, 5, ByteOrder.LITTLE_ENDIAN));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateNullChroma() {
new YCbCr16UpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[3], 7, 5, ByteOrder.LITTLE_ENDIAN);
assertThrows(IllegalArgumentException.class, () -> new YCbCr16UpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[3], 7, 5, ByteOrder.LITTLE_ENDIAN));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateShortChroma() {
new YCbCr16UpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[1], 7, 5, ByteOrder.LITTLE_ENDIAN);
assertThrows(IllegalArgumentException.class, () -> new YCbCr16UpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[1], 7, 5, ByteOrder.LITTLE_ENDIAN));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateNoByteOrder() {
new YCbCr16UpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[] {2, 2}, 7, 5, null);
assertThrows(IllegalArgumentException.class, () -> new YCbCr16UpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[] {2, 2}, 7, 5, null));
}
// TODO: The expected values seems bogus...
@@ -30,15 +30,13 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* YCbCrUpsamplerStreamTest
@@ -48,19 +46,19 @@ import static org.junit.Assert.assertEquals;
* @version $Id: YCbCrUpsamplerStreamTest.java,v 1.0 31.01.13 14:35 haraldk Exp$
*/
public class YCbCrUpsamplerStreamTest {
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateNullStream() {
new YCbCrUpsamplerStream(null, new int[2], 7, 5);
assertThrows(IllegalArgumentException.class, () -> new YCbCrUpsamplerStream(null, new int[2], 7, 5));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateNullChroma() {
new YCbCrUpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[3], 7, 5);
assertThrows(IllegalArgumentException.class, () -> new YCbCrUpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[3], 7, 5));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void testCreateShortChroma() {
new YCbCrUpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[1], 7, 5);
assertThrows(IllegalArgumentException.class, () -> new YCbCrUpsamplerStream(new ByteArrayInputStream(new byte[0]), new int[1], 7, 5));
}
@Test