Author: tilman
Date: Fri Jan 1 09:50:09 2021
New Revision: 1885003
URL: http://svn.apache.org/viewvc?rev=1885003&view=rev
Log:
PDFBOX-4892: use try-with-resources; use assertThrows
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/SequenceRandomAccessReadTest.java
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/SequenceRandomAccessReadTest.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/SequenceRandomAccessReadTest.java?rev=1885003&r1=1885002&r2=1885003&view=diff
==============================================================================
---
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/SequenceRandomAccessReadTest.java
(original)
+++
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/SequenceRandomAccessReadTest.java
Fri Jan 1 09:50:09 2021
@@ -17,16 +17,15 @@
package org.apache.pdfbox.io;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
/**
@@ -47,52 +46,27 @@ class SequenceRandomAccessReadTest
input2.getBytes());
List<RandomAccessRead> inputList =
Arrays.asList(randomAccessReadBuffer1,
randomAccessReadBuffer2);
- SequenceRandomAccessRead sequenceRandomAccessRead = new
SequenceRandomAccessRead(inputList);
-
- try
- {
- sequenceRandomAccessRead.createView(0, 10);
- fail("createView should have thrown an IOException");
- }
- catch(IOException e)
+ try (SequenceRandomAccessRead sequenceRandomAccessRead = new
SequenceRandomAccessRead(inputList))
{
+ assertThrows(IOException.class, () ->
sequenceRandomAccessRead.createView(0, 10));
+
+ int overallLength = input1.length() + input2.length();
+ assertEquals(overallLength, sequenceRandomAccessRead.length());
+
+ byte[] bytesRead = new byte[overallLength];
+
+ assertEquals(overallLength,
sequenceRandomAccessRead.read(bytesRead));
+ assertEquals(input1 + input2, new String(bytesRead));
}
-
- int overallLength = input1.length() + input2.length();
- assertEquals(overallLength, sequenceRandomAccessRead.length());
-
- byte[] bytesRead = new byte[overallLength];
-
- assertEquals(overallLength, sequenceRandomAccessRead.read(bytesRead));
- assertEquals(input1 + input2, new String(bytesRead));
-
- sequenceRandomAccessRead.close();
// test missing parameter
- try (RandomAccessRead read = new SequenceRandomAccessRead(null))
- {
- fail("Constructor should have thrown an IllegalArgumentException");
- }
- catch (IllegalArgumentException e)
- {
- }
+ assertThrows(IllegalArgumentException.class, () -> new
SequenceRandomAccessRead(null));
// test empty list
- try (RandomAccessRead read = new
SequenceRandomAccessRead(Collections.emptyList()))
- {
- fail("Constructor should have thrown an IllegalArgumentException");
- }
- catch (IllegalArgumentException e)
- {
- }
+ assertThrows(IllegalArgumentException.class, () -> new
SequenceRandomAccessRead(Collections.emptyList()));
+
// test problematic list
- try (RandomAccessRead read = new SequenceRandomAccessRead(inputList))
- {
- fail("Constructor should have thrown an IllegalArgumentException");
- }
- catch (IllegalArgumentException e)
- {
- }
+ assertThrows(IllegalArgumentException.class, () -> new
SequenceRandomAccessRead(inputList));
}
@Test
@@ -106,40 +80,31 @@ class SequenceRandomAccessReadTest
input2.getBytes());
List<RandomAccessRead> inputList =
Arrays.asList(randomAccessReadBuffer1,
randomAccessReadBuffer2);
- SequenceRandomAccessRead sequenceRandomAccessRead = new
SequenceRandomAccessRead(inputList);
-
// test seek, rewind and peek in the first part of the sequence
- sequenceRandomAccessRead.seek(4);
- assertEquals(4, sequenceRandomAccessRead.getPosition());
- assertEquals('4', sequenceRandomAccessRead.read());
- assertEquals(5, sequenceRandomAccessRead.getPosition());
- sequenceRandomAccessRead.rewind(1);
- assertEquals(4, sequenceRandomAccessRead.getPosition());
- assertEquals('4', sequenceRandomAccessRead.read());
- assertEquals('5', sequenceRandomAccessRead.peek());
- assertEquals(5, sequenceRandomAccessRead.getPosition());
- assertEquals('5', sequenceRandomAccessRead.read());
- assertEquals(6, sequenceRandomAccessRead.getPosition());
-
- // test seek, rewind and peek in the second part of the sequence
- sequenceRandomAccessRead.seek(24);
- assertEquals(24, sequenceRandomAccessRead.getPosition());
- assertEquals('e', sequenceRandomAccessRead.read());
- sequenceRandomAccessRead.rewind(1);
- assertEquals('e', sequenceRandomAccessRead.read());
- assertEquals('f', sequenceRandomAccessRead.peek());
- assertEquals('f', sequenceRandomAccessRead.read());
-
- try
+ try (SequenceRandomAccessRead sequenceRandomAccessRead = new
SequenceRandomAccessRead(inputList))
{
- sequenceRandomAccessRead.seek(-1);
- fail("seek should have thrown an IOException");
+ // test seek, rewind and peek in the first part of the sequence
+ sequenceRandomAccessRead.seek(4);
+ assertEquals(4, sequenceRandomAccessRead.getPosition());
+ assertEquals('4', sequenceRandomAccessRead.read());
+ assertEquals(5, sequenceRandomAccessRead.getPosition());
+ sequenceRandomAccessRead.rewind(1);
+ assertEquals(4, sequenceRandomAccessRead.getPosition());
+ assertEquals('4', sequenceRandomAccessRead.read());
+ assertEquals('5', sequenceRandomAccessRead.peek());
+ assertEquals(5, sequenceRandomAccessRead.getPosition());
+ assertEquals('5', sequenceRandomAccessRead.read());
+ assertEquals(6, sequenceRandomAccessRead.getPosition());
+ // test seek, rewind and peek in the second part of the sequence
+ sequenceRandomAccessRead.seek(24);
+ assertEquals(24, sequenceRandomAccessRead.getPosition());
+ assertEquals('e', sequenceRandomAccessRead.read());
+ sequenceRandomAccessRead.rewind(1);
+ assertEquals('e', sequenceRandomAccessRead.read());
+ assertEquals('f', sequenceRandomAccessRead.peek());
+ assertEquals('f', sequenceRandomAccessRead.read());
+ assertThrows(IOException.class, () ->
sequenceRandomAccessRead.seek(-1));
}
- catch (IOException e)
- {
- }
-
- sequenceRandomAccessRead.close();
}
@Test
@@ -153,37 +118,37 @@ class SequenceRandomAccessReadTest
input2.getBytes());
List<RandomAccessRead> inputList =
Arrays.asList(randomAccessReadBuffer1,
randomAccessReadBuffer2);
- SequenceRandomAccessRead sequenceRandomAccessRead = new
SequenceRandomAccessRead(inputList);
-
// jump to the last byte of the first part of the sequence
- sequenceRandomAccessRead.seek(19);
- assertEquals('9', sequenceRandomAccessRead.read());
- sequenceRandomAccessRead.rewind(1);
- assertEquals('9', sequenceRandomAccessRead.read());
- assertEquals('a', sequenceRandomAccessRead.peek());
- assertEquals('a', sequenceRandomAccessRead.read());
-
- // jump back to the first sequence
- sequenceRandomAccessRead.seek(17);
- byte[] bytesRead = new byte[6];
- assertEquals(6, sequenceRandomAccessRead.read(bytesRead));
- assertEquals("789abc", new String(bytesRead));
- assertEquals(23, sequenceRandomAccessRead.getPosition());
-
- // rewind back to the first sequence
- sequenceRandomAccessRead.rewind(6);
- assertEquals(17, sequenceRandomAccessRead.getPosition());
- bytesRead = new byte[6];
- assertEquals(6, sequenceRandomAccessRead.read(bytesRead));
- assertEquals("789abc", new String(bytesRead));
-
- // jump to the start of the sequence
- sequenceRandomAccessRead.seek(0);
- bytesRead = new byte[6];
- assertEquals(6, sequenceRandomAccessRead.read(bytesRead));
- assertEquals("012345", new String(bytesRead));
-
- sequenceRandomAccessRead.close();
+ try (SequenceRandomAccessRead sequenceRandomAccessRead = new
SequenceRandomAccessRead(inputList))
+ {
+ // jump to the last byte of the first part of the sequence
+ sequenceRandomAccessRead.seek(19);
+ assertEquals('9', sequenceRandomAccessRead.read());
+ sequenceRandomAccessRead.rewind(1);
+ assertEquals('9', sequenceRandomAccessRead.read());
+ assertEquals('a', sequenceRandomAccessRead.peek());
+ assertEquals('a', sequenceRandomAccessRead.read());
+
+ // jump back to the first sequence
+ sequenceRandomAccessRead.seek(17);
+ byte[] bytesRead = new byte[6];
+ assertEquals(6, sequenceRandomAccessRead.read(bytesRead));
+ assertEquals("789abc", new String(bytesRead));
+ assertEquals(23, sequenceRandomAccessRead.getPosition());
+
+ // rewind back to the first sequence
+ sequenceRandomAccessRead.rewind(6);
+ assertEquals(17, sequenceRandomAccessRead.getPosition());
+ bytesRead = new byte[6];
+ assertEquals(6, sequenceRandomAccessRead.read(bytesRead));
+ assertEquals("789abc", new String(bytesRead));
+
+ // jump to the start of the sequence
+ sequenceRandomAccessRead.seek(0);
+ bytesRead = new byte[6];
+ assertEquals(6, sequenceRandomAccessRead.read(bytesRead));
+ assertEquals("012345", new String(bytesRead));
+ }
}
@Test
@@ -228,14 +193,8 @@ class SequenceRandomAccessReadTest
// closing a SequenceRandomAccessRead twice shouldn't be a problem
sequenceRandomAccessRead.close();
- try
- {
- sequenceRandomAccessRead.read();
- fail("checkClosed should have thrown an IOException");
- }
- catch (IOException e)
- {
- }
+ assertThrows(IOException.class, () -> sequenceRandomAccessRead.read(),
+ "checkClosed should have thrown an IOException");
}
@Test
@@ -251,33 +210,33 @@ class SequenceRandomAccessReadTest
List<RandomAccessRead> inputList =
Arrays.asList(randomAccessReadBuffer1, emptyBuffer,
randomAccessReadBuffer2);
- SequenceRandomAccessRead sequenceRandomAccessRead = new
SequenceRandomAccessRead(inputList);
-
- // check length
- assertEquals(sequenceRandomAccessRead.length(), input1.length() +
input2.length());
-
- // read from both parts of the sequence
- byte[] bytesRead = new byte[10];
- sequenceRandomAccessRead.seek(15);
- assertEquals(10, sequenceRandomAccessRead.read(bytesRead));
- assertEquals("56789abcde", new String(bytesRead));
-
- // rewind and read again
- sequenceRandomAccessRead.rewind(15);
- bytesRead = new byte[5];
- assertEquals(5, sequenceRandomAccessRead.read(bytesRead));
- assertEquals("01234", new String(bytesRead));
- // check EOF when reading
- bytesRead = new byte[5];
- sequenceRandomAccessRead.seek(38);
- assertEquals(2, sequenceRandomAccessRead.read(bytesRead));
- assertEquals("st", new String(bytesRead, 0, 2));
-
- // check EOF after seek
- sequenceRandomAccessRead.seek(40);
- assertTrue(sequenceRandomAccessRead.isEOF());
-
- sequenceRandomAccessRead.close();
+ try (SequenceRandomAccessRead sequenceRandomAccessRead = new
SequenceRandomAccessRead(inputList))
+ {
+ // check length
+ assertEquals(sequenceRandomAccessRead.length(), input1.length() +
input2.length());
+
+ // read from both parts of the sequence
+ byte[] bytesRead = new byte[10];
+ sequenceRandomAccessRead.seek(15);
+ assertEquals(10, sequenceRandomAccessRead.read(bytesRead));
+ assertEquals("56789abcde", new String(bytesRead));
+
+ // rewind and read again
+ sequenceRandomAccessRead.rewind(15);
+ bytesRead = new byte[5];
+ assertEquals(5, sequenceRandomAccessRead.read(bytesRead));
+ assertEquals("01234", new String(bytesRead));
+
+ // check EOF when reading
+ bytesRead = new byte[5];
+ sequenceRandomAccessRead.seek(38);
+ assertEquals(2, sequenceRandomAccessRead.read(bytesRead));
+ assertEquals("st", new String(bytesRead, 0, 2));
+
+ // check EOF after seek
+ sequenceRandomAccessRead.seek(40);
+ assertTrue(sequenceRandomAccessRead.isEOF());
+ }
}
}