Author: tilman
Date: Tue Nov 25 12:40:38 2025
New Revision: 1929975

Log:
PDFBOX-5660: small code improvements suggested by Jens Kaiser in pr 192

Modified:
   pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/afm/AFMParserTest.java
   pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/cff/CFFParserTest.java
   pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/pfb/PfbParserTest.java
   
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java
   
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/annotation/AppearanceGenerationTest.java
   
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/ControlCharacterTest.java
   
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java

Modified: 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/afm/AFMParserTest.java
==============================================================================
--- 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/afm/AFMParserTest.java    
    Tue Nov 25 12:10:03 2025        (r1929974)
+++ 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/afm/AFMParserTest.java    
    Tue Nov 25 12:40:38 2025        (r1929975)
@@ -22,7 +22,6 @@ import static org.junit.jupiter.api.Asse
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.ByteArrayInputStream;
 import java.io.FileInputStream;
@@ -33,6 +32,8 @@ import java.util.List;
 import java.util.Optional;
 
 import org.apache.fontbox.util.BoundingBox;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -41,83 +42,49 @@ import org.junit.jupiter.api.Test;
  */
 class AFMParserTest
 {
+    public static final String HELVETICA_AFM = 
"src/test/resources/afm/Helvetica.afm";
+
     @Test
     void testStartFontMetrics() throws IOException
     {
-        try
-        {
-            new AFMParser(new 
ByteArrayInputStream("huhu".getBytes(StandardCharsets.US_ASCII)))
-                    .parse();
-            fail("The AFMParser should have thrown an IOException because of a 
missing "
-                    + AFMParser.START_FONT_METRICS);
-        }
-        catch (IOException e)
-        {
-            // expected exception
-        }
+        assertThrows(IOException.class,
+                () -> new AFMParser(new 
ByteArrayInputStream("huhu".getBytes(StandardCharsets.US_ASCII))).parse(),
+                "The AFMParser should have thrown an IOException because of a 
missing " + AFMParser.START_FONT_METRICS);
     }
 
     @Test
     void testEndFontMetrics() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/NoEndFontMetrics.afm"))
-        {
-            AFMParser parser = new AFMParser(is);
-            try
-            {
-                parser.parse();
-                fail("The AFMParser should have thrown an IOException because 
of a missing "
-                        + AFMParser.END_FONT_METRICS);
-            }
-            catch (IOException e)
-            {
-                assertTrue(e.getMessage().contains("Unknown AFM key"));
-            }
-        }
+        AFMParser parser = new AFMParser(new 
FileInputStream("src/test/resources/afm/NoEndFontMetrics.afm"));
+        IOException e = assertThrows(IOException.class, parser::parse,
+                "The AFMParser should have thrown an IOException because of a 
missing " + AFMParser.END_FONT_METRICS);
+        assertTrue(e.getMessage().contains("Unknown AFM key"));
     }
 
     @Test
     void testMalformedFloat() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/MalformedFloat.afm"))
-        {
-            AFMParser parser = new AFMParser(is);
-            try
-            {
-                parser.parse();
-                fail("The AFMParser should have thrown an IOException because 
of a malformed float value");
-            }
-            catch (IOException e)
-            {
-                assertTrue(e.getCause() instanceof NumberFormatException);
-                assertTrue(e.getMessage().contains("4,1ab"));
-            }
-        }
+        AFMParser parser = new AFMParser(new 
FileInputStream("src/test/resources/afm/MalformedFloat.afm"));
+        IOException e = assertThrows(IOException.class, parser::parse,
+                "The AFMParser should have thrown an IOException because of a 
malformed float value");
+        assertInstanceOf(NumberFormatException.class, e.getCause());
+        assertTrue(e.getMessage().contains("4,1ab"));
     }
 
     @Test
     void testMalformedInteger() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/MalformedInteger.afm"))
-        {
-            try
-            {
-                AFMParser parser = new AFMParser(is);
-                parser.parse();
-                fail("The AFMParser should have thrown an IOException because 
of a malformed int value");
-            }
-            catch (IOException e)
-            {
-                assertTrue(e.getCause() instanceof NumberFormatException);
-                assertTrue(e.getMessage().contains("3.4"));
-            }
-        }
+        AFMParser parser = new AFMParser(new 
FileInputStream("src/test/resources/afm/MalformedInteger.afm"));
+        IOException e = assertThrows(IOException.class, parser::parse,
+                "The AFMParser should have thrown an IOException because of a 
malformed int value");
+        assertInstanceOf(NumberFormatException.class, e.getCause());
+        assertTrue(e.getMessage().contains("3.4"));
     }
 
     @Test
     void testHelveticaFontMetrics() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/Helvetica.afm"))
+        try (InputStream is = new FileInputStream(HELVETICA_AFM))
         {
             AFMParser parser = new AFMParser(is);
             checkHelveticaFontMetrics(parser.parse());
@@ -127,7 +94,7 @@ class AFMParserTest
     @Test
     void testHelveticaCharMetrics() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/Helvetica.afm"))
+        try (InputStream is = new FileInputStream(HELVETICA_AFM))
         {
             AFMParser parser = new AFMParser(is);
             FontMetrics fontMetrics = parser.parse();
@@ -140,7 +107,7 @@ class AFMParserTest
     @Test
     void testHelveticaKernPairs() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/Helvetica.afm"))
+        try (InputStream is = new FileInputStream(HELVETICA_AFM))
         {
             AFMParser parser = new AFMParser(is);
             FontMetrics fontMetrics = parser.parse();
@@ -164,7 +131,7 @@ class AFMParserTest
     @Test
     void testHelveticaFontMetricsReducedDataset() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/Helvetica.afm"))
+        try (InputStream is = new FileInputStream(HELVETICA_AFM))
         {
             AFMParser parser = new AFMParser(is);
             checkHelveticaFontMetrics(parser.parse(true));
@@ -174,7 +141,7 @@ class AFMParserTest
     @Test
     void testHelveticaCharMetricsReducedDataset() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/Helvetica.afm"))
+        try (InputStream is = new FileInputStream(HELVETICA_AFM))
         {
             AFMParser parser = new AFMParser(is);
             FontMetrics fontMetrics = parser.parse(true);
@@ -187,7 +154,7 @@ class AFMParserTest
     @Test
     void testHelveticaKernPairsReducedDataset() throws IOException
     {
-        try (InputStream is = new 
FileInputStream("src/test/resources/afm/Helvetica.afm"))
+        try (InputStream is = new FileInputStream(HELVETICA_AFM))
         {
             AFMParser parser = new AFMParser(is);//
             FontMetrics fontMetrics = parser.parse(true);

Modified: 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/cff/CFFParserTest.java
==============================================================================
--- 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/cff/CFFParserTest.java    
    Tue Nov 25 12:10:03 2025        (r1929974)
+++ 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/cff/CFFParserTest.java    
    Tue Nov 25 12:40:38 2025        (r1929975)
@@ -15,19 +15,19 @@
  */
 package org.apache.fontbox.cff;
 
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
-import java.util.Arrays;
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.fontbox.util.BoundingBox;
 import org.apache.pdfbox.io.RandomAccessReadBufferedFile;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -108,7 +108,7 @@ class CFFParserTest
     {
         CFFEncoding encoding = testCFFType1Font.getEncoding();
         assertNotNull(encoding, "Encoding must not be null");
-        assertTrue(encoding instanceof CFFStandardEncoding,
+        assertInstanceOf(CFFStandardEncoding.class, encoding, 
                 "Encoding is not an instance of CFFStandardEncoding");
     }
 
@@ -119,23 +119,19 @@ class CFFParserTest
         assertFalse(charStringBytes.isEmpty());
         assertEquals(824, testCFFType1Font.getNumCharStrings());
         // check some randomly chosen values
-        assertTrue(Arrays.equals(new byte[] { -4, 15, 14 }, 
charStringBytes.get(1)), //
+        assertArrayEquals(new byte[] { -4, 15, 14 }, charStringBytes.get(1), //
                 "Other char strings byte values than expected");
-        assertTrue(
-                Arrays.equals(new byte[] { 72, 29, -13, 29, -9, -74, -9, 43, 
3, 33, 29, 14 },
-                        charStringBytes.get(16)), //
+        assertArrayEquals(new byte[] { 72, 29, -13, 29, -9, -74, -9, 43, 3, 
33, 29, 14 },
+                        charStringBytes.get(16), //
                 "Other char strings byte values than expected");
-        assertTrue(
-                Arrays.equals(new byte[] { -41, 88, 29, -47, -9, 12, 1, -123, 
10, 3, 35, 29, -9,
-                        -50, -9, 62, -9, 3, 10, 85, -56, 61, 10 }, 
charStringBytes.get(195)), //
+        assertArrayEquals(new byte[] { -41, 88, 29, -47, -9, 12, 1, -123, 10, 
3, 35, 29, -9,
+                        -50, -9, 62, -9, 3, 10, 85, -56, 61, 10 }, 
charStringBytes.get(195), //
                 "Other char strings byte values than expected");
-        assertTrue(
-                Arrays.equals(new byte[] { -5, -69, -61, -8, 28, 1, -9, 57, 
-39, -65, 29, 14 },
-                        charStringBytes.get(525)), //
+        assertArrayEquals(new byte[] { -5, -69, -61, -8, 28, 1, -9, 57, -39, 
-65, 29, 14 },
+                        charStringBytes.get(525), //
                 "Other char strings byte values than expected");
-        assertTrue(
-                Arrays.equals(new byte[] { 107, -48, 10, -9, 20, -9, 123, 3, 
-9, -112, -8, -46, 21,
-                        -10, 115, 10 }, charStringBytes.get(738)), //
+        assertArrayEquals(new byte[] { 107, -48, 10, -9, 20, -9, 123, 3, -9, 
-112, -8, -46, 21,
+                        -10, 115, 10 }, charStringBytes.get(738), //
                 "Other char strings byte values than expected");
     }
 
@@ -146,16 +142,13 @@ class CFFParserTest
         assertFalse(globalSubrIndex.isEmpty());
         assertEquals(278, globalSubrIndex.size());
         // check some randomly chosen values
-        assertTrue(
-                Arrays.equals(new byte[] { 21, -70, -83, -85, -72, -72, 105, 
-85, 92, 91, 105, 107,
-                        10, -83, -9, 62, 10 }, globalSubrIndex.get(12)), //
+        assertArrayEquals(new byte[] { 21, -70, -83, -85, -72, -72, 105, -85, 
92, 91, 105, 107,
+                        10, -83, -9, 62, 10 }, globalSubrIndex.get(12), //
                 "Other global subr index values than expected");
-        assertTrue(
-                Arrays.equals(new byte[] { 58, 122, 29, -5, 48, 6, 11 }, 
globalSubrIndex.get(120)), //
+        assertArrayEquals(new byte[] { 58, 122, 29, -5, 48, 6, 11 }, 
globalSubrIndex.get(120), //
                 "Other global subr index values than expected");
-        assertTrue(
-                Arrays.equals(new byte[] { 68, 80, 29, -45, -9, 16, -8, -92, 
119, 11 },
-                        globalSubrIndex.get(253)), //
+        assertArrayEquals(new byte[] { 68, 80, 29, -45, -9, 16, -8, -92, 119, 
11 },
+                        globalSubrIndex.get(253), //
                 "Other global subr index values than expected");
     }
 

Modified: 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/pfb/PfbParserTest.java
==============================================================================
--- 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/pfb/PfbParserTest.java    
    Tue Nov 25 12:10:03 2025        (r1929974)
+++ 
pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/pfb/PfbParserTest.java    
    Tue Nov 25 12:40:38 2025        (r1929975)
@@ -50,11 +50,11 @@ class PfbParserTest
         Assertions.assertEquals("Open Sans Regular", font.getFullName());
         Assertions.assertEquals("Open Sans", font.getFamilyName());
         Assertions.assertEquals("Digitized data copyright (c) 2010-2011, 
Google Corporation.", font.getNotice());
-        Assertions.assertEquals(false, font.isFixedPitch());
-        Assertions.assertEquals(false, font.isForceBold());
+        Assertions.assertFalse(font.isFixedPitch());
+        Assertions.assertFalse(font.isForceBold());
         Assertions.assertEquals(0, font.getItalicAngle());
         Assertions.assertEquals("Book", font.getWeight());
-        Assertions.assertTrue(font.getEncoding() instanceof BuiltInEncoding);
+        Assertions.assertInstanceOf(BuiltInEncoding.class, font.getEncoding());
         Assertions.assertEquals(4498, font.getASCIISegment().length);
         Assertions.assertEquals(95911, font.getBinarySegment().length);
         Assertions.assertEquals(938, font.getCharStringsDict().size());
@@ -83,11 +83,11 @@ class PfbParserTest
         Assertions.assertEquals("DejaVu Serif Condensed", font.getFullName());
         Assertions.assertEquals("DejaVu Serif Condensed", 
font.getFamilyName());
         Assertions.assertEquals("Copyright [c] 2003 by Bitstream, Inc. All 
Rights Reserved.", font.getNotice());
-        Assertions.assertEquals(false, font.isFixedPitch());
-        Assertions.assertEquals(false, font.isForceBold());
+        Assertions.assertFalse(font.isFixedPitch());
+        Assertions.assertFalse(font.isForceBold());
         Assertions.assertEquals(0, font.getItalicAngle());
         Assertions.assertEquals("Book", font.getWeight());
-        Assertions.assertTrue(font.getEncoding() instanceof BuiltInEncoding);
+        Assertions.assertInstanceOf(BuiltInEncoding.class, font.getEncoding());
         Assertions.assertEquals(5959, font.getASCIISegment().length);
         Assertions.assertEquals(1056090, font.getBinarySegment().length);
         Assertions.assertEquals(3399, font.getCharStringsDict().size());

Modified: 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java
       Tue Nov 25 12:10:03 2025        (r1929974)
+++ 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFCloneUtilityTest.java
       Tue Nov 25 12:40:38 2025        (r1929975)
@@ -16,7 +16,7 @@
 package org.apache.pdfbox.multipdf;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 
 import java.awt.Color;
 import java.io.ByteArrayOutputStream;
@@ -156,11 +156,11 @@ class PDFCloneUtilityTest
             {
                 PDFMergerUtility merger = new PDFMergerUtility();
                 // The OCProperties is a direct object here, but gets saved as 
an indirect object.
-                
assertTrue(doc1.getDocumentCatalog().getCOSObject().getItem(COSName.OCPROPERTIES)
 instanceof COSDictionary);
-                
assertTrue(doc2.getDocumentCatalog().getCOSObject().getItem(COSName.OCPROPERTIES)
 instanceof COSObject);
+                assertInstanceOf(COSDictionary.class, 
doc1.getDocumentCatalog().getCOSObject().getItem(COSName.OCPROPERTIES));
+                assertInstanceOf(COSObject.class, 
doc2.getDocumentCatalog().getCOSObject().getItem(COSName.OCPROPERTIES));
                 merger.appendDocument(doc2, doc1);
                 assertEquals(2, doc2.getNumberOfPages());
             }
         }
     }
-}
\ No newline at end of file
+}

Modified: 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/annotation/AppearanceGenerationTest.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/annotation/AppearanceGenerationTest.java
    Tue Nov 25 12:10:03 2025        (r1929974)
+++ 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/annotation/AppearanceGenerationTest.java
    Tue Nov 25 12:40:38 2025        (r1929975)
@@ -68,10 +68,7 @@ class AppearanceGenerationTest
     // values.
     // TODO: revisit that number as our code improves
     private static final float DELTA = 3e-3f;
-    
-    // the location of the annotation
-    static PDRectangle rectangle;
-    
+
     private PDDocument document;
     
     private static final File IN_DIR = new 
File("src/test/resources/org/apache/pdfbox/pdmodel/interactive/annotation");
@@ -123,7 +120,8 @@ class AppearanceGenerationTest
                 assertEquals(((Operator) tokenForOriginal).getName(),
                         ((Operator) tokenForPdfbox).getName(),
                         "The operator generated by PDFBox should be the same 
Operator");
-            } else if (tokenForOriginal instanceof COSFloat)
+            }
+            else if (tokenForOriginal instanceof COSFloat)
             {
                 assertTrue(
                         Math.abs(((COSFloat) tokenForOriginal).floatValue()

Modified: 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/ControlCharacterTest.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/ControlCharacterTest.java
      Tue Nov 25 12:10:03 2025        (r1929974)
+++ 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/ControlCharacterTest.java
      Tue Nov 25 12:40:38 2025        (r1929975)
@@ -78,7 +78,7 @@ class ControlCharacterTest
     }
     
     @Test
-    void characterNUL() throws IOException
+    void characterNUL()
     {
         PDField field = acroForm.getField("pdfbox-nul");
         assertThrows(IllegalArgumentException.class, () -> 
field.setValue("NUL\0NUL"));
@@ -132,8 +132,7 @@ class ControlCharacterTest
     private List<String> getStringsFromStream(PDField field) throws IOException
     {
         PDAnnotationWidget widget = field.getWidgets().get(0);
-        PDFStreamParser parser = new PDFStreamParser(
-                widget.getNormalAppearanceStream());
+        PDFStreamParser parser = new 
PDFStreamParser(widget.getNormalAppearanceStream());
         
         List<Object> tokens = parser.parse();
         

Modified: 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
    Tue Nov 25 12:10:03 2025        (r1929974)
+++ 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormTest.java
    Tue Nov 25 12:40:38 2025        (r1929975)
@@ -18,6 +18,7 @@ package org.apache.pdfbox.pdmodel.intera
 
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -342,8 +343,8 @@ class PDAcroFormTest
             assertNotNull(helv);
             assertNotNull(zadb);
             // make sure that font wasn't overwritten
-            assertTrue(helv instanceof PDType1Font);
-            assertTrue(zadb instanceof PDType1Font);
+            assertInstanceOf(PDType1Font.class, helv);
+            assertInstanceOf(PDType1Font.class, zadb);
             PDType1Font helvType1 = (PDType1Font) helv;
             PDType1Font zadbType1 = (PDType1Font) zadb;
             assertEquals(FontName.HELVETICA.getName(), helv.getName());

Reply via email to