You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2020/12/24 18:42:38 UTC

svn commit: r1884783 [9/40] - in /poi: site/src/documentation/content/xdocs/ trunk/ trunk/sonar/ trunk/sonar/integration-test/ trunk/sonar/ooxml/ trunk/src/excelant/poi-ant-contrib/ trunk/src/excelant/testcases/org/apache/poi/ss/excelant/ trunk/src/exc...

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java Thu Dec 24 18:42:29 2020
@@ -16,12 +16,11 @@
 ==================================================================== */
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeFalse;
-import static org.junit.Assume.assumeTrue;
+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.Assumptions.assumeFalse;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
 import java.io.IOException;
 import java.util.Collections;
@@ -36,20 +35,19 @@ import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.ss.util.SheetUtil;
-import org.junit.After;
-import org.junit.Assume;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Tests the auto-sizing behaviour of {@link SXSSFSheet} when not all
  * rows fit into the memory window size etc.
- * 
+ *
  * see Bug #57450 which reported the original misbehaviour
  */
 public class TestAutoSizeColumnTracker {
-    
+
     private SXSSFSheet sheet;
     private SXSSFWorkbook workbook;
     private AutoSizeColumnTracker tracker;
@@ -63,15 +61,15 @@ public class TestAutoSizeColumnTracker {
     }
     private final static String SHORT_MESSAGE = "short";
     private final static String LONG_MESSAGE = "This is a test of a long message! This is a test of a long message!";
-    
-    @Before
+
+    @BeforeEach
     public void setUpSheetAndWorkbook() {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
         tracker = new AutoSizeColumnTracker(sheet);
     }
-    
-    @After
+
+    @AfterEach
     public void tearDownSheetAndWorkbook() throws IOException {
         if (sheet != null) {
             sheet.dispose();
@@ -80,7 +78,7 @@ public class TestAutoSizeColumnTracker {
             workbook.close();
         }
     }
-    
+
     @Test
     public void trackAndUntrackColumn() {
         assumeTrue(tracker.getTrackedColumns().isEmpty());
@@ -91,7 +89,7 @@ public class TestAutoSizeColumnTracker {
         tracker.untrackColumn(0);
         assertTrue(tracker.getTrackedColumns().isEmpty());
     }
-    
+
     @Test
     public void trackAndUntrackColumns() {
         assumeTrue(tracker.getTrackedColumns().isEmpty());
@@ -108,14 +106,14 @@ public class TestAutoSizeColumnTracker {
         tracker.untrackColumns(columns);
         assertTrue(tracker.getTrackedColumns().isEmpty());
     }
-    
+
     @Test
     public void trackAndUntrackAllColumns() {
         createColumnsAndTrackThemAll();
         tracker.untrackAllColumns();
         assertTrue(tracker.getTrackedColumns().isEmpty());
     }
-    
+
     @Test
     public void isColumnTracked() {
         assumeFalse(tracker.isColumnTracked(0));
@@ -140,7 +138,7 @@ public class TestAutoSizeColumnTracker {
     @Test
     public void getTrackedColumns() {
         assumeTrue(tracker.getTrackedColumns().isEmpty());
-        
+
         for (int column : columns) {
             tracker.trackColumn(column);
         }
@@ -148,7 +146,7 @@ public class TestAutoSizeColumnTracker {
         assertEquals(3, tracker.getTrackedColumns().size());
         assertEquals(columns, tracker.getTrackedColumns());
     }
-    
+
     @Test
     public void isAllColumnsTracked() {
         assertFalse(tracker.isAllColumnsTracked());
@@ -157,7 +155,7 @@ public class TestAutoSizeColumnTracker {
         tracker.untrackAllColumns();
         assertFalse(tracker.isAllColumnsTracked());
     }
-    
+
     @Test
     public void updateColumnWidths_and_getBestFitColumnWidth() {
         tracker.trackAllColumns();
@@ -171,19 +169,19 @@ public class TestAutoSizeColumnTracker {
         tracker.updateColumnWidths(row1);
         tracker.updateColumnWidths(row2);
         assertEquals(0, sheet.addMergedRegion(CellRangeAddress.valueOf("D1:E1")));
-        
+
         assumeRequiredFontsAreInstalled(workbook, row1.getCell(columns.iterator().next()));
-        
+
         // Excel 2013 and LibreOffice 4.2.8.2 both treat columns with merged regions as blank
         /*     A     B    C      D   E
          * 1 LONG  LONG        LONGMERGE
          * 2       SHORT SHORT     SHORT
          */
-        
+
         // measured in Excel 2013. Sizes may vary.
         final int longMsgWidth = (int) (57.43*256);
         final int shortMsgWidth = (int) (4.86*256);
-        
+
         checkColumnWidth(longMsgWidth, 0, true);
         checkColumnWidth(longMsgWidth, 0, false);
         checkColumnWidth(longMsgWidth, 1, true);
@@ -195,25 +193,20 @@ public class TestAutoSizeColumnTracker {
         checkColumnWidth(shortMsgWidth, 4, true); //but is it really? shouldn't autosizing column E use "" from E1 and SHORT from E2?
         checkColumnWidth(shortMsgWidth, 4, false);
     }
-    
+
     private void checkColumnWidth(int expectedWidth, int column, boolean useMergedCells) {
         final int bestFitWidth = tracker.getBestFitColumnWidth(column, useMergedCells);
         if (bestFitWidth < 0 && expectedWidth < 0) return;
         final double abs_error = Math.abs(bestFitWidth-expectedWidth);
         final double rel_error = abs_error / expectedWidth;
-        if (rel_error > 0.25) {
-            fail("check column width: " +
-                    rel_error + ", " + abs_error + ", " +
-                    expectedWidth + ", " + bestFitWidth);
-        }
-        
+        assertTrue(rel_error <= 0.25, "check column width: " + rel_error + ", " + abs_error + ", " + expectedWidth + ", " + bestFitWidth);
     }
-    
+
     private static void assumeRequiredFontsAreInstalled(final Workbook workbook, final Cell cell) {
         // autoSize will fail if required fonts are not installed, skip this test then
         Font font = workbook.getFontAt(cell.getCellStyle().getFontIndex());
-        Assume.assumeTrue("Cannot verify autoSizeColumn() because the necessary Fonts are not installed on this machine: " + font,
-                          SheetUtil.canComputeColumnWidth(font));
+        assumeTrue(SheetUtil.canComputeColumnWidth(font),
+            "Cannot verify autoSizeColumn() because the necessary Fonts are not installed on this machine: " + font);
     }
 
     private void createColumnsAndTrackThemAll() {

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestDeferredSXSSFWorkbook.java Thu Dec 24 18:42:29 2020
@@ -19,12 +19,12 @@
 
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 
@@ -38,9 +38,9 @@ import org.apache.poi.xssf.usermodel.XSS
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.After;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 public final class TestDeferredSXSSFWorkbook extends BaseTestXWorkbook {
 
@@ -48,7 +48,7 @@ public final class TestDeferredSXSSFWork
         super(DeferredSXSSFITestDataProvider.instance);
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         ((DeferredSXSSFITestDataProvider) _testDataProvider).cleanup();
     }
@@ -59,12 +59,8 @@ public final class TestDeferredSXSSFWork
     @Override
     @Test
     public void cloneSheet() throws IOException {
-        try {
-            super.cloneSheet();
-            fail("expected exception");
-        } catch (RuntimeException e) {
-            assertEquals("Not Implemented", e.getMessage());
-        }
+        RuntimeException e = assertThrows(RuntimeException.class, super::cloneSheet);
+        assertEquals("Not Implemented", e.getMessage());
     }
 
     /**
@@ -73,29 +69,25 @@ public final class TestDeferredSXSSFWork
     @Override
     @Test
     public void sheetClone() throws IOException {
-        try {
-            super.sheetClone();
-            fail("expected exception");
-        } catch (RuntimeException e) {
-            assertEquals("Not Implemented", e.getMessage());
-        }
+        RuntimeException e = assertThrows(RuntimeException.class, super::sheetClone);
+        assertEquals("Not Implemented", e.getMessage());
     }
 
     /**
      * Skip this test, as SXSSF doesn't update formulas on sheet name changes.
      */
     @Override
-    @Ignore("SXSSF doesn't update formulas on sheet name changes, as most cells probably aren't in memory at the time")
+    @Disabled("SXSSF doesn't update formulas on sheet name changes, as most cells probably aren't in memory at the time")
     @Test
     public void setSheetName() {}
 
     @Override
-    @Ignore("DeferredSXSSF code disposes rows in a way that breaks this test")
+    @Disabled("DeferredSXSSF code disposes rows in a way that breaks this test")
     @Test
     public void parentReferences() {}
 
     @Override
-    @Ignore("DeferredSXSSF code disposes rows in a way that breaks this test")
+    @Disabled("DeferredSXSSF code disposes rows in a way that breaks this test")
     @Test
     public void unicodeInAll() {}
 
@@ -248,7 +240,7 @@ public final class TestDeferredSXSSFWork
             assertEquals("sheet" + i, sh.getSheetName());
             for (int j = 0; j < rowNum; j++) {
                 Row row = sh.getRow(j);
-                assertNotNull("row[" + j + "]", row);
+                assertNotNull(row, "row[" + j + "]");
                 Cell cell1 = row.getCell(0);
                 assertEquals(new CellReference(cell1).formatAsString(), cell1.getStringCellValue());
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestOutlining.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestOutlining.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestOutlining.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestOutlining.java Thu Dec 24 18:42:29 2020
@@ -19,20 +19,19 @@
 
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class TestOutlining {
     @Test
@@ -58,7 +57,7 @@ public final class TestOutlining {
 		r = sheet2.getRow(12);
 		assertNull(r.getHidden());
 		wb2.dispose();
-		
+
 		wb2.close();
 	}
 
@@ -76,34 +75,18 @@ public final class TestOutlining {
 		sheet2.groupRow(4, 9);
 		sheet2.groupRow(11, 19);
 
-		try {
-			sheet2.setRowGroupCollapsed(3, true);
-			fail("Should fail with an exception");
-		} catch (IllegalArgumentException e) {
-			assertTrue(e.getMessage().contains("row (3)"));
-		}
+        IllegalArgumentException e;
+		e = assertThrows(IllegalArgumentException.class, () -> sheet2.setRowGroupCollapsed(3, true));
+        assertTrue(e.getMessage().contains("row (3)"));
 
-		try {
-			sheet2.setRowGroupCollapsed(10, true);
-			fail("Should fail with an exception");
-		} catch (IllegalArgumentException e) {
-			assertTrue(e.getMessage().contains("row (10)"));
-		}
+        e = assertThrows(IllegalArgumentException.class, () -> sheet2.setRowGroupCollapsed(10, true));
+        assertTrue(e.getMessage().contains("row (10)"));
 
-		try {
-			sheet2.setRowGroupCollapsed(0, true);
-			fail("Should fail with an exception");
-		} catch (IllegalArgumentException e) {
-			assertTrue(e.getMessage().contains("row (0)"));
-		}
+        e = assertThrows(IllegalArgumentException.class, () -> sheet2.setRowGroupCollapsed(0, true));
+        assertTrue(e.getMessage().contains("row (0)"));
 
-		try {
-			sheet2.setRowGroupCollapsed(20, true);
-			fail("Should fail with an exception");
-		} catch (IllegalArgumentException e) {
-			assertTrue("Had: " + e.getMessage(), 
-					e.getMessage().contains("Row does not exist"));
-		}
+        e = assertThrows(IllegalArgumentException.class, () -> sheet2.setRowGroupCollapsed(20, true));
+        assertTrue(e.getMessage().contains("Row does not exist"), "Had: " + e.getMessage());
 
 		SXSSFRow r = sheet2.getRow(8);
 		assertNotNull(r);
@@ -113,10 +96,10 @@ public final class TestOutlining {
 		r = sheet2.getRow(12);
 		assertNull(r.getHidden());
 		wb2.dispose();
-		
+
 		wb2.close();
 	}
-	
+
     @Test
     public void testOutlineGettersHSSF() throws IOException {
         HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
@@ -136,7 +119,7 @@ public final class TestOutlining {
         assertEquals(0, hssfSheet.getRow(4).getOutlineLevel());
         hssfWorkbook.close();
     }
-    
+
     @Test
     public void testOutlineGettersXSSF() throws IOException {
         XSSFWorkbook xssfWorkbook = new XSSFWorkbook();
@@ -156,18 +139,18 @@ public final class TestOutlining {
         assertEquals(0, xssfSheet.getRow(4).getOutlineLevel());
         xssfWorkbook.close();
     }
-    
+
     @Test
     public void testOutlineGettersSXSSF() throws IOException {
         SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook();
-        Sheet sxssfSheet = sxssfWorkbook.createSheet();
+        SXSSFSheet sxssfSheet = sxssfWorkbook.createSheet();
         sxssfSheet.createRow(0);
         sxssfSheet.createRow(1);
         sxssfSheet.createRow(2);
         sxssfSheet.createRow(3);
         sxssfSheet.createRow(4);
         sxssfSheet.createRow(5);
-        
+
         // nothing happens with empty row-area
         sxssfSheet.groupRow(1, 0);
         assertEquals(0, sxssfSheet.getRow(0).getOutlineLevel());
@@ -176,7 +159,7 @@ public final class TestOutlining {
         assertEquals(0, sxssfSheet.getRow(3).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(4).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(5).getOutlineLevel());
-        
+
         sxssfSheet.groupRow(1, 3);
         sxssfSheet.groupRow(2, 3);
 
@@ -186,33 +169,33 @@ public final class TestOutlining {
         assertEquals(2, sxssfSheet.getRow(3).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(4).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(5).getOutlineLevel());
-        
+
         // add tests for direct setting - add row 4 to deepest group
-        ((SXSSFSheet)sxssfSheet).setRowOutlineLevel(4, 2);
+        sxssfSheet.setRowOutlineLevel(4, 2);
         assertEquals(0, sxssfSheet.getRow(0).getOutlineLevel());
         assertEquals(1, sxssfSheet.getRow(1).getOutlineLevel());
         assertEquals(2, sxssfSheet.getRow(2).getOutlineLevel());
         assertEquals(2, sxssfSheet.getRow(3).getOutlineLevel());
         assertEquals(2, sxssfSheet.getRow(4).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(5).getOutlineLevel());
-        
+
         sxssfWorkbook.dispose();
         sxssfWorkbook.close();
     }
-    
+
     @Test
     public void testOutlineGettersSXSSFSetOutlineLevel() throws IOException {
         SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook();
-        Sheet sxssfSheet = sxssfWorkbook.createSheet();
+        SXSSFSheet sxssfSheet = sxssfWorkbook.createSheet();
         sxssfSheet.createRow(0);
         sxssfSheet.createRow(1);
         sxssfSheet.createRow(2);
         sxssfSheet.createRow(3);
         sxssfSheet.createRow(4);
         sxssfSheet.createRow(5);
-    
+
         // what happens with level below 1
-        ((SXSSFSheet)sxssfSheet).setRowOutlineLevel(0, -2);
+        sxssfSheet.setRowOutlineLevel(0, -2);
         assertEquals(-2, sxssfSheet.getRow(0).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(1).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(2).getOutlineLevel());
@@ -221,14 +204,14 @@ public final class TestOutlining {
         assertEquals(0, sxssfSheet.getRow(5).getOutlineLevel());
 
         // add tests for direct setting
-        ((SXSSFSheet)sxssfSheet).setRowOutlineLevel(4, 2);
+        sxssfSheet.setRowOutlineLevel(4, 2);
         assertEquals(-2, sxssfSheet.getRow(0).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(1).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(2).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(3).getOutlineLevel());
         assertEquals(2, sxssfSheet.getRow(4).getOutlineLevel());
         assertEquals(0, sxssfSheet.getRow(5).getOutlineLevel());
-        
+
         sxssfWorkbook.dispose();
         sxssfWorkbook.close();
     }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFCell.java Thu Dec 24 18:42:29 2020
@@ -19,10 +19,11 @@
 
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+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.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.spy;
 
 import java.io.IOException;
@@ -42,9 +43,9 @@ import org.apache.poi.xssf.usermodel.XSS
 import org.apache.poi.xssf.usermodel.XSSFRichTextString;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.xmlbeans.XmlCursor;
-import org.junit.AfterClass;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst;
 
 /**
@@ -57,7 +58,7 @@ public class TestSXSSFCell extends BaseT
         super(SXSSFITestDataProvider.instance);
     }
 
-    @AfterClass
+    @AfterAll
     public static void tearDownClass() {
         SXSSFITestDataProvider.instance.cleanup();
     }
@@ -87,26 +88,26 @@ public class TestSXSSFCell extends BaseT
             c.toNextToken();
             String t = c.getAttributeText(new QName("http://www.w3.org/XML/1998/namespace", "space"));
             c.dispose();
-            assertEquals("expected xml:spaces=\"preserve\" \"" + str + "\"", "preserve", t);
+            assertEquals( "preserve", t, "expected xml:spaces=\"preserve\" \"" + str + "\"" );
             xwb.close();
             swb.close();
         }
     }
 
-    @Test(expected = IllegalStateException.class)
+    @Test
     public void getCachedFormulaResultType_throwsISE_whenNotAFormulaCell() {
         SXSSFCell instance = new SXSSFCell(null, CellType.BLANK);
-        instance.getCachedFormulaResultType();
+        assertThrows(IllegalStateException.class, instance::getCachedFormulaResultType);
     }
 
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void setCellValue_withTooLongRichTextString_throwsIAE() {
         Cell cell = spy(new SXSSFCell(null, CellType.BLANK));
         int length = SpreadsheetVersion.EXCEL2007.getMaxTextLength() + 1;
         String string = new String(new byte[length], StandardCharsets.UTF_8).replace("\0", "x");
         RichTextString richTextString = new XSSFRichTextString(string);
-        cell.setCellValue(richTextString);
+        assertThrows(IllegalArgumentException.class, () -> cell.setCellValue(richTextString));
     }
 
     @Test
@@ -136,7 +137,7 @@ public class TestSXSSFCell extends BaseT
      * However, this test should be enabled if array formulas are implemented for SXSSF.
      */
     @Override
-    @Ignore
+    @Disabled
     public void setBlank_removesArrayFormula_ifCellIsPartOfAnArrayFormulaGroupContainingOnlyThisCell() {
     }
 
@@ -145,34 +146,34 @@ public class TestSXSSFCell extends BaseT
      * However, this test should be enabled if array formulas are implemented for SXSSF.
      */
     @Override
-    @Ignore
+    @Disabled
     @Test // <- annotation is necessary to override expected exception
     public void setBlank_throwsISE_ifCellIsPartOfAnArrayFormulaGroupContainingOtherCells() {
     }
 
     @Override
-    @Ignore
+    @Disabled
     @Test
     public void setCellFormula_throwsISE_ifCellIsPartOfAnArrayFormulaGroupContainingOtherCells() {
     }
 
     @Override
-    @Ignore
+    @Disabled
     public void removeFormula_turnsCellToBlank_whenFormulaWasASingleCellArrayFormula() {
     }
 
     @Override
-    @Ignore
+    @Disabled
     public void setCellFormula_onASingleCellArrayFormulaCell_preservesTheValue() {
     }
 
     @Test
-    @Ignore
+    @Disabled
     public void setCellFormula_isExceptionSafe_onBlankCell() {
     }
 
     @Test
-    @Ignore
+    @Disabled
     public void setCellType_FORMULA_onAnArrayFormulaCell_doesNothing() {
     }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java Thu Dec 24 18:42:29 2020
@@ -16,7 +16,7 @@
 ==================================================================== */
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.List;
 
@@ -27,7 +27,7 @@ import org.apache.poi.ss.usermodel.DataV
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.util.CellRangeAddressList;
 import org.apache.poi.xssf.SXSSFITestDataProvider;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestSXSSFDataValidation extends BaseTestDataValidation {
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFEvaluationSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFEvaluationSheet.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFEvaluationSheet.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFEvaluationSheet.java Thu Dec 24 18:42:29 2020
@@ -20,7 +20,7 @@ import org.apache.poi.ss.formula.Evaluat
 import org.apache.poi.ss.usermodel.BaseTestXEvaluationSheet;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
-import org.junit.After;
+import org.junit.jupiter.api.AfterEach;
 
 import java.io.IOException;
 import java.util.AbstractMap;
@@ -31,7 +31,7 @@ import java.util.Map;
 public class TestSXSSFEvaluationSheet extends BaseTestXEvaluationSheet {
     private List<Workbook> workbooksToClose = new ArrayList<>();
 
-    @After
+    @AfterEach
     public void closeWorkbooks() throws IOException {
         for (Workbook workbook : workbooksToClose) {
             workbook.close();

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java Thu Dec 24 18:42:29 2020
@@ -19,9 +19,10 @@
 
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.fail;
+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.fail;
 
 import java.io.IOException;
 
@@ -29,13 +30,15 @@ import org.apache.poi.ss.usermodel.BaseT
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
 import org.apache.poi.xssf.SXSSFITestDataProvider;
+import org.apache.poi.xssf.streaming.SXSSFFormulaEvaluator.RowFlushedException;
+import org.apache.poi.xssf.streaming.SXSSFFormulaEvaluator.SheetsFlushedException;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Assume;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 /**
  * Formula Evaluation with SXSSF.
- * 
+ *
  * Note that SXSSF can only evaluate formulas where the
  *  cell is in the current window, and all references
  *  from the cell are in the current window
@@ -53,76 +56,65 @@ public final class TestSXSSFFormulaEvalu
      */
     @Test
     public void testEvaluateAllFails() throws IOException {
-        SXSSFWorkbook wb = new SXSSFWorkbook(5);
-        SXSSFSheet s = wb.createSheet();
-        
-        FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
-        
-        s.createRow(0).createCell(0).setCellFormula("1+2");
-        s.createRow(1).createCell(0).setCellFormula("A21");
-        for (int i=2; i<19; i++) { s.createRow(i); }
-        
-        // Cells outside window will fail, whether referenced or not
-        s.createRow(19).createCell(0).setCellFormula("A1+A2");
-        s.createRow(20).createCell(0).setCellFormula("A1+A11+100");
-        try {
-            eval.evaluateAll();
-            fail("Evaluate All shouldn't work, as some cells outside the window");
-        } catch(SXSSFFormulaEvaluator.RowFlushedException e) {
-            // Expected
+        try (SXSSFWorkbook wb = new SXSSFWorkbook(5)) {
+            SXSSFSheet s = wb.createSheet();
+
+            FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
+
+            s.createRow(0).createCell(0).setCellFormula("1+2");
+            s.createRow(1).createCell(0).setCellFormula("A21");
+            for (int i = 2; i < 19; i++) {
+                s.createRow(i);
+            }
+
+            // Cells outside window will fail, whether referenced or not
+            s.createRow(19).createCell(0).setCellFormula("A1+A2");
+            s.createRow(20).createCell(0).setCellFormula("A1+A11+100");
+            assertThrows(RowFlushedException.class, eval::evaluateAll,
+                "Evaluate All shouldn't work, as some cells outside the window");
         }
-        
-        
-        // Inactive sheets will fail
-        XSSFWorkbook xwb = new XSSFWorkbook();
-        xwb.createSheet("Open");
-        xwb.createSheet("Closed");
 
-        wb.close();
-        wb = new SXSSFWorkbook(xwb, 5);
-        s = wb.getSheet("Closed");
-        s.flushRows();
-        s = wb.getSheet("Open");
-        s.createRow(0).createCell(0).setCellFormula("1+2");
-        
-        eval = wb.getCreationHelper().createFormulaEvaluator();
-        try {
-            eval.evaluateAll();
-            fail("Evaluate All shouldn't work, as sheets flushed");
-        } catch (SXSSFFormulaEvaluator.SheetsFlushedException e) {
-            // expected here
+            // Inactive sheets will fail
+        try (XSSFWorkbook xwb = new XSSFWorkbook()) {
+            xwb.createSheet("Open");
+            xwb.createSheet("Closed");
+
+            try (SXSSFWorkbook wb = new SXSSFWorkbook(xwb, 5)) {
+                SXSSFSheet s = wb.getSheet("Closed");
+                s.flushRows();
+                s = wb.getSheet("Open");
+                s.createRow(0).createCell(0).setCellFormula("1+2");
+
+                FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
+                assertThrows(SheetsFlushedException.class, eval::evaluateAll, "Evaluate All shouldn't work, as sheets flushed");
+            }
         }
-        
-        wb.close();
     }
-    
+
     @Test
     public void testEvaluateRefOutsideWindowFails() throws IOException {
-        SXSSFWorkbook wb = new SXSSFWorkbook(5);
-        SXSSFSheet s = wb.createSheet();
-        
-        s.createRow(0).createCell(0).setCellFormula("1+2");
-        assertFalse(s.areAllRowsFlushed());
-        assertEquals(-1, s.getLastFlushedRowNum());
-        
-        for (int i=1; i<=19; i++) { s.createRow(i); }
-        Cell c = s.createRow(20).createCell(0);
-        c.setCellFormula("A1+100");
-
-        assertFalse(s.areAllRowsFlushed());
-        assertEquals(15, s.getLastFlushedRowNum());
-        
-        FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
-        try {
-            eval.evaluateFormulaCell(c);
-            fail("Evaluate shouldn't work, as reference outside the window");
-        } catch(SXSSFFormulaEvaluator.RowFlushedException e) {
-            // Expected
+        try (SXSSFWorkbook wb = new SXSSFWorkbook(5)) {
+            SXSSFSheet s = wb.createSheet();
+
+            s.createRow(0).createCell(0).setCellFormula("1+2");
+            assertFalse(s.areAllRowsFlushed());
+            assertEquals(-1, s.getLastFlushedRowNum());
+
+            for (int i = 1; i <= 19; i++) {
+                s.createRow(i);
+            }
+            Cell c = s.createRow(20).createCell(0);
+            c.setCellFormula("A1+100");
+
+            assertFalse(s.areAllRowsFlushed());
+            assertEquals(15, s.getLastFlushedRowNum());
+
+            FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
+            assertThrows(RowFlushedException.class, () -> eval.evaluateFormulaCell(c),
+                "Evaluate shouldn't work, as reference outside the window");
         }
-        
-        wb.close();
     }
-    
+
     /**
      * If all formula cells + their references are inside the window,
      *  then evaluation works
@@ -134,64 +126,64 @@ public final class TestSXSSFFormulaEvalu
         s.createRow(0).createCell(0).setCellFormula("1+2");
         s.createRow(1).createCell(1).setCellFormula("A1+10");
         s.createRow(2).createCell(2).setCellFormula("B2+100");
-        
+
         FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
         eval.evaluateAll();
-        
+
         assertEquals(3, (int)s.getRow(0).getCell(0).getNumericCellValue());
         assertEquals(13, (int)s.getRow(1).getCell(1).getNumericCellValue());
         assertEquals(113, (int)s.getRow(2).getCell(2).getNumericCellValue());
-        
+
         wb.close();
     }
-    
+
     @Test
     public void testEvaluateRefInsideWindow() throws IOException {
         SXSSFWorkbook wb = new SXSSFWorkbook(5);
         SXSSFSheet s = wb.createSheet();
-        
+
         FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
-        
+
         SXSSFCell c = s.createRow(0).createCell(0);
         c.setCellValue(1.5);
-        
+
         c = s.createRow(1).createCell(0);
         c.setCellFormula("A1*2");
-        
+
         assertEquals(0, (int)c.getNumericCellValue());
         eval.evaluateFormulaCell(c);
         assertEquals(3, (int)c.getNumericCellValue());
-        
+
         wb.close();
     }
-    
+
     @Test
     public void testEvaluateSimple() throws IOException {
         SXSSFWorkbook wb = new SXSSFWorkbook(5);
         SXSSFSheet s = wb.createSheet();
-        
+
         FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator();
-        
+
         SXSSFCell c = s.createRow(0).createCell(0);
         c.setCellFormula("1+2");
         assertEquals(0, (int)c.getNumericCellValue());
         eval.evaluateFormulaCell(c);
         assertEquals(3, (int)c.getNumericCellValue());
-        
+
         c = s.createRow(1).createCell(0);
         c.setCellFormula("CONCATENATE(\"hello\",\" \",\"world\")");
         eval.evaluateFormulaCell(c);
         assertEquals("hello world", c.getStringCellValue());
-        
+
         wb.close();
     }
 
     @Test
+    @Disabled(
+        "This test is disabled because it fails for SXSSF because " +
+        "handling of errors in formulas is slightly different than in XSSF, " +
+        "but this proved to be non-trivial to solve..."
+    )
     public void testUpdateCachedFormulaResultFromErrorToNumber_bug46479() {
-        //noinspection ConstantConditions
-        Assume.assumeTrue("This test is disabled because it fails for SXSSF because " +
-                        "handling of errors in formulas is slightly different than in XSSF, " +
-                        "but this proved to be non-trivial to solve...",
-                false);
     }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFHyperlink.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFHyperlink.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFHyperlink.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFHyperlink.java Thu Dec 24 18:42:29 2020
@@ -19,7 +19,7 @@
 
 package org.apache.poi.xssf.streaming;
 
-import org.junit.After;
+import org.junit.jupiter.api.AfterEach;
 
 import org.apache.poi.ss.usermodel.BaseTestHyperlink;
 import org.apache.poi.ss.usermodel.Hyperlink;
@@ -38,11 +38,11 @@ public class TestSXSSFHyperlink extends
     }
 
 
-    @After
+    @AfterEach
     public void tearDown(){
         SXSSFITestDataProvider.instance.cleanup();
     }
-    
+
     @Override
     public XSSFHyperlink copyHyperlink(Hyperlink link) {
         // FIXME: replace with SXSSFHyperlink if it ever gets created

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java Thu Dec 24 18:42:29 2020
@@ -21,9 +21,9 @@ package org.apache.poi.xssf.streaming;
 
 import org.apache.poi.ss.tests.usermodel.BaseTestXRow;
 import org.apache.poi.xssf.SXSSFITestDataProvider;
-import org.junit.After;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests for XSSFRow
@@ -35,18 +35,18 @@ public final class TestSXSSFRow extends
     }
 
 
-    @After
+    @AfterEach
     public void tearDown() {
         ((SXSSFITestDataProvider) _testDataProvider).cleanup();
     }
 
     @Override
-    @Ignore ("see <https://bz.apache.org/bugzilla/show_bug.cgi?id=62030#c1>") @Test
+    @Disabled("see <https://bz.apache.org/bugzilla/show_bug.cgi?id=62030#c1>") @Test
     public void testCellShiftingRight(){
         // Remove when SXSSFRow.shiftCellsRight() is implemented.
     }
     @Override
-    @Ignore ("see <https://bz.apache.org/bugzilla/show_bug.cgi?id=62030#c1>") @Test
+    @Disabled("see <https://bz.apache.org/bugzilla/show_bug.cgi?id=62030#c1>") @Test
     public void testCellShiftingLeft(){
         // Remove when SXSSFRow.shiftCellsLeft() is implemented.
     }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java Thu Dec 24 18:42:29 2020
@@ -19,9 +19,9 @@
 
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.IOException;
 
@@ -30,8 +30,8 @@ import org.apache.poi.ss.usermodel.Sheet
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.SXSSFITestDataProvider;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.After;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
 
 
 public final class TestSXSSFSheet extends BaseTestXSheet {
@@ -41,7 +41,7 @@ public final class TestSXSSFSheet extend
     }
 
 
-    @After
+    @AfterEach
     public void tearDown(){
         SXSSFITestDataProvider.instance.cleanup();
     }
@@ -123,29 +123,19 @@ public final class TestSXSSFSheet extend
 
     @Test
     public void overrideRowsInTemplate() throws IOException {
-        XSSFWorkbook template = new XSSFWorkbook();
-        template.createSheet().createRow(1);
-
-        Workbook wb = new SXSSFWorkbook(template);
-        try {
-            Sheet sheet = wb.getSheetAt(0);
-
-            try {
-                sheet.createRow(1);
-                fail("expected exception");
-            } catch (Throwable e){
+        try (XSSFWorkbook template = new XSSFWorkbook()) {
+            template.createSheet().createRow(1);
+            try (Workbook wb = new SXSSFWorkbook(template);) {
+                Sheet sheet = wb.getSheetAt(0);
+                Throwable e;
+                e = assertThrows(Throwable.class, () -> sheet.createRow(1));
                 assertEquals("Attempting to write a row[1] in the range [0,1] that is already written to disk.", e.getMessage());
-            }
-            try {
-                sheet.createRow(0);
-                fail("expected exception");
-            } catch (Throwable e){
+
+                e = assertThrows(Throwable.class, () -> sheet.createRow(0));
                 assertEquals("Attempting to write a row[0] in the range [0,1] that is already written to disk.", e.getMessage());
+
+                sheet.createRow(2);
             }
-            sheet.createRow(2);
-        } finally {
-            wb.close();
-            template.close();
         }
     }
 
@@ -157,11 +147,11 @@ public final class TestSXSSFSheet extend
         SXSSFRow row1 = sheet.createRow(1);
         sheet.changeRowNum(row0, 2);
 
-        assertEquals("Row 1 knows its row number", 1, row1.getRowNum());
-        assertEquals("Row 2 knows its row number", 2, row0.getRowNum());
-        assertEquals("Sheet knows Row 1's row number", 1, sheet.getRowNum(row1));
-        assertEquals("Sheet knows Row 2's row number", 2, sheet.getRowNum(row0));
-        assertEquals("Sheet row iteratation order should be ascending", row1, sheet.iterator().next());
+        assertEquals(1, row1.getRowNum(), "Row 1 knows its row number");
+        assertEquals(2, row0.getRowNum(), "Row 2 knows its row number");
+        assertEquals(1, sheet.getRowNum(row1), "Sheet knows Row 1's row number");
+        assertEquals(2, sheet.getRowNum(row0), "Sheet knows Row 2's row number");
+        assertEquals(row1, sheet.iterator().next(), "Sheet row iteratation order should be ascending");
 
         wb.close();
     }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheetAutoSizeColumn.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheetAutoSizeColumn.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheetAutoSizeColumn.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheetAutoSizeColumn.java Thu Dec 24 18:42:29 2020
@@ -16,19 +16,18 @@
 ==================================================================== */
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeFalse;
-import static org.junit.Assume.assumeTrue;
+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 static org.junit.jupiter.api.Assumptions.assumeFalse;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
 import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.SortedSet;
 import java.util.TreeSet;
+import java.util.stream.Stream;
 
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Font;
@@ -37,35 +36,32 @@ import org.apache.poi.ss.usermodel.Sheet
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.ss.util.SheetUtil;
-import org.junit.After;
-import org.junit.Assume;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 /**
  * Tests the auto-sizing behaviour of {@link SXSSFSheet} when not all
  * rows fit into the memory window size etc.
- * 
+ *
  * see Bug #57450 which reported the original misbehaviour
  */
-@RunWith(Parameterized.class)
 public class TestSXSSFSheetAutoSizeColumn {
-    
+
     private static final String SHORT_CELL_VALUE = "Ben";
     private static final String LONG_CELL_VALUE = "B Be Ben Beni Benif Benify Benif Beni Ben Be B";
-    
-    // Approximative threshold to decide whether test is PASS or FAIL:
+
+    // Approximate threshold to decide whether test is PASS or FAIL:
     //  shortCellValue ends up with approx column width 1_000 (on my machine),
     //  longCellValue ends up with approx. column width 10_000 (on my machine)
     //  so shortCellValue can be expected to be < 5000 for all fonts
     //  and longCellValue can be expected to be > 5000 for all fonts
     private static final int COLUMN_WIDTH_THRESHOLD_BETWEEN_SHORT_AND_LONG = 4000;
     private static final int MAX_COLUMN_WIDTH = 255*256;
-    
+
     private static final SortedSet<Integer> columns;
     static {
         SortedSet<Integer>_columns = new TreeSet<>();
@@ -74,23 +70,16 @@ public class TestSXSSFSheetAutoSizeColum
         _columns.add(3);
         columns = Collections.unmodifiableSortedSet(_columns);
     }
-    
-    
+
+
     private SXSSFSheet sheet;
     private SXSSFWorkbook workbook;
-    
-    @Parameter
-    public boolean useMergedCells;
-    
-    @Parameters(name="{index}: useMergedCells={0}")
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] {     
-                 {false},
-                 {true}, 
-           });
+
+    public static Stream<Arguments> data() {
+        return Stream.of(Arguments.of(false), Arguments.of(true));
     }
-    
-    @After
+
+    @AfterEach
     public void tearDownSheetAndWorkbook() throws IOException {
         if (sheet != null) {
             sheet.dispose();
@@ -99,26 +88,28 @@ public class TestSXSSFSheetAutoSizeColum
             workbook.close();
         }
     }
-    
-    @Test
-    public void test_EmptySheet_NoException() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void test_EmptySheet_NoException(boolean useMergedCells) {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
         sheet.trackAllColumnsForAutoSizing();
-        
+
         for (int i = 0; i < 10; i++) {
             sheet.autoSizeColumn(i, useMergedCells);
         }
     }
-    
-    @Test
-    public void test_WindowSizeDefault_AllRowsFitIntoWindowSize() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void test_WindowSizeDefault_AllRowsFitIntoWindowSize(boolean useMergedCells) {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
         sheet.trackAllColumnsForAutoSizing();
-        
+
         final Cell cellRow0 = createRowWithCellValues(sheet, 0, LONG_CELL_VALUE);
-        
+
         assumeRequiredFontsAreInstalled(workbook, cellRow0);
 
         createRowWithCellValues(sheet, 1, SHORT_CELL_VALUE);
@@ -127,15 +118,16 @@ public class TestSXSSFSheetAutoSizeColum
 
         assertColumnWidthStrictlyWithinRange(sheet.getColumnWidth(0), COLUMN_WIDTH_THRESHOLD_BETWEEN_SHORT_AND_LONG, MAX_COLUMN_WIDTH);
     }
-    
-    @Test
-    public void test_WindowSizeEqualsOne_ConsiderFlushedRows() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void test_WindowSizeEqualsOne_ConsiderFlushedRows(boolean useMergedCells) {
         workbook = new SXSSFWorkbook(null, 1); // Window size 1 so only last row will be in memory
         sheet = workbook.createSheet();
         sheet.trackAllColumnsForAutoSizing();
-        
+
         final Cell cellRow0 = createRowWithCellValues(sheet, 0, LONG_CELL_VALUE);
-        
+
         assumeRequiredFontsAreInstalled(workbook, cellRow0);
 
         createRowWithCellValues(sheet, 1, SHORT_CELL_VALUE);
@@ -145,14 +137,15 @@ public class TestSXSSFSheetAutoSizeColum
         assertColumnWidthStrictlyWithinRange(sheet.getColumnWidth(0), COLUMN_WIDTH_THRESHOLD_BETWEEN_SHORT_AND_LONG, MAX_COLUMN_WIDTH);
     }
 
-    @Test
-    public void test_WindowSizeEqualsOne_lastRowIsNotWidest() {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void test_WindowSizeEqualsOne_lastRowIsNotWidest(boolean useMergedCells) {
         workbook = new SXSSFWorkbook(null, 1); // Window size 1 so only last row will be in memory
         sheet = workbook.createSheet();
         sheet.trackAllColumnsForAutoSizing();
-        
+
         final Cell cellRow0 = createRowWithCellValues(sheet, 0, LONG_CELL_VALUE);
-        
+
         assumeRequiredFontsAreInstalled(workbook, cellRow0);
 
         createRowWithCellValues(sheet, 1, SHORT_CELL_VALUE);
@@ -161,44 +154,46 @@ public class TestSXSSFSheetAutoSizeColum
 
         assertColumnWidthStrictlyWithinRange(sheet.getColumnWidth(0), COLUMN_WIDTH_THRESHOLD_BETWEEN_SHORT_AND_LONG, MAX_COLUMN_WIDTH);
     }
-    
-    @Test
-    public void test_WindowSizeEqualsOne_lastRowIsWidest() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void test_WindowSizeEqualsOne_lastRowIsWidest(boolean useMergedCells) {
         workbook = new SXSSFWorkbook(null, 1); // Window size 1 so only last row will be in memory
         sheet = workbook.createSheet();
         sheet.trackAllColumnsForAutoSizing();
-        
+
         final Cell cellRow0 = createRowWithCellValues(sheet, 0, SHORT_CELL_VALUE);
 
         assumeRequiredFontsAreInstalled(workbook, cellRow0);
-        
+
         createRowWithCellValues(sheet, 1, LONG_CELL_VALUE);
 
         sheet.autoSizeColumn(0, useMergedCells);
 
         assertColumnWidthStrictlyWithinRange(sheet.getColumnWidth(0), COLUMN_WIDTH_THRESHOLD_BETWEEN_SHORT_AND_LONG, MAX_COLUMN_WIDTH);
     }
-    
+
     // fails only for useMergedCell=true
-    @Test
-    public void test_WindowSizeEqualsOne_flushedRowHasMergedCell() {
+    @ParameterizedTest
+    @MethodSource("data")
+    public void test_WindowSizeEqualsOne_flushedRowHasMergedCell(boolean useMergedCells) {
         workbook = new SXSSFWorkbook(null, 1); // Window size 1 so only last row will be in memory
         sheet = workbook.createSheet();
         sheet.trackAllColumnsForAutoSizing();
-        
+
         Cell a1 = createRowWithCellValues(sheet, 0, LONG_CELL_VALUE);
 
         assumeRequiredFontsAreInstalled(workbook, a1);
         assertEquals(0, sheet.addMergedRegion(CellRangeAddress.valueOf("A1:B1")));
-        
+
         createRowWithCellValues(sheet, 1, SHORT_CELL_VALUE, SHORT_CELL_VALUE);
-        
+
         /*
          *    A      B
          * 1 LONGMERGED
          * 2 SHORT SHORT
          */
-        
+
         sheet.autoSizeColumn(0, useMergedCells);
         sheet.autoSizeColumn(1, useMergedCells);
 
@@ -217,145 +212,126 @@ public class TestSXSSFSheetAutoSizeColum
         }
         assertColumnWidthStrictlyWithinRange(sheet.getColumnWidth(1), 0, COLUMN_WIDTH_THRESHOLD_BETWEEN_SHORT_AND_LONG); //short
     }
-    
-    @Test
-    public void autoSizeColumn_trackColumnForAutoSizing() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void autoSizeColumn_trackColumnForAutoSizing(boolean useMergedCells) {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
         sheet.trackColumnForAutoSizing(0);
-        
+
         SortedSet<Integer> expected = new TreeSet<>();
         expected.add(0);
         assertEquals(expected, sheet.getTrackedColumnsForAutoSizing());
-        
+
         sheet.autoSizeColumn(0, useMergedCells);
-        try {
-            sheet.autoSizeColumn(1, useMergedCells);
-            fail("Should not be able to auto-size an untracked column");
-        }
-        catch (final IllegalStateException e) {
-            // expected
-        }
+        assertThrows(IllegalStateException.class, () -> sheet.autoSizeColumn(1, useMergedCells),
+            "Should not be able to auto-size an untracked column");
     }
-    
-    @Test
-    public void autoSizeColumn_trackColumnsForAutoSizing() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void autoSizeColumn_trackColumnsForAutoSizing(boolean useMergedCells) {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
-        
+
         sheet.trackColumnsForAutoSizing(columns);
         SortedSet<Integer> sorted = new TreeSet<>(columns);
         assertEquals(sorted, sheet.getTrackedColumnsForAutoSizing());
-        
+
         sheet.autoSizeColumn(sorted.first(), useMergedCells);
-        try {
-            assumeFalse(columns.contains(5));
-            sheet.autoSizeColumn(5, useMergedCells);
-            fail("Should not be able to auto-size an untracked column");
-        }
-        catch (final IllegalStateException e) {
-            // expected
-        }
+        assumeFalse(columns.contains(5));
+
+        assertThrows(IllegalStateException.class, () -> sheet.autoSizeColumn(5, useMergedCells),
+            "Should not be able to auto-size an untracked column");
     }
-    
-    @Test
-    public void autoSizeColumn_untrackColumnForAutoSizing() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void autoSizeColumn_untrackColumnForAutoSizing(boolean useMergedCells) {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
-        
+
         sheet.trackColumnsForAutoSizing(columns);
         sheet.untrackColumnForAutoSizing(columns.first());
-        
+
         assumeTrue(sheet.getTrackedColumnsForAutoSizing().contains(columns.last()));
         sheet.autoSizeColumn(columns.last(), useMergedCells);
-        try {
-            assumeFalse(sheet.getTrackedColumnsForAutoSizing().contains(columns.first()));
-            sheet.autoSizeColumn(columns.first(), useMergedCells);
-            fail("Should not be able to auto-size an untracked column");
-        }
-        catch (final IllegalStateException e) {
-            // expected
-        }
+        assumeFalse(sheet.getTrackedColumnsForAutoSizing().contains(columns.first()));
+
+        assertThrows(IllegalStateException.class, () -> sheet.autoSizeColumn(columns.first(), useMergedCells),
+            "Should not be able to auto-size an untracked column");
     }
-    
-    @Test
-    public void autoSizeColumn_untrackColumnsForAutoSizing() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void autoSizeColumn_untrackColumnsForAutoSizing(boolean useMergedCells) {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
-        
+
         sheet.trackColumnForAutoSizing(15);
         sheet.trackColumnsForAutoSizing(columns);
         sheet.untrackColumnsForAutoSizing(columns);
-        
+
         assumeTrue(sheet.getTrackedColumnsForAutoSizing().contains(15));
         sheet.autoSizeColumn(15, useMergedCells);
-        try {
-            assumeFalse(sheet.getTrackedColumnsForAutoSizing().contains(columns.first()));
-            sheet.autoSizeColumn(columns.first(), useMergedCells);
-            fail("Should not be able to auto-size an untracked column");
-        }
-        catch (final IllegalStateException e) {
-            // expected
-        }
+        assumeFalse(sheet.getTrackedColumnsForAutoSizing().contains(columns.first()));
+
+        assertThrows(IllegalStateException.class, () -> sheet.autoSizeColumn(columns.first(), useMergedCells),
+            "Should not be able to auto-size an untracked column");
     }
-    
+
     @Test
     public void autoSizeColumn_isColumnTrackedForAutoSizing() {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
-        
+
         sheet.trackColumnsForAutoSizing(columns);
         for (int column : columns) {
             assertTrue(sheet.isColumnTrackedForAutoSizing(column));
-            
+
             assumeFalse(columns.contains(column+10));
             assertFalse(sheet.isColumnTrackedForAutoSizing(column+10));
         }
     }
-    
-    @Test
-    public void autoSizeColumn_trackAllColumns() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void autoSizeColumn_trackAllColumns(boolean useMergedCells) {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
-        
+
         sheet.trackAllColumnsForAutoSizing();
         sheet.autoSizeColumn(0, useMergedCells);
-        
+
         sheet.untrackAllColumnsForAutoSizing();
-        try {
-            sheet.autoSizeColumn(0, useMergedCells);
-            fail("Should not be able to auto-size an implicitly untracked column");
-        } catch (final IllegalStateException e) {
-            // expected
-        }
+        assertThrows(IllegalStateException.class, () -> sheet.autoSizeColumn(0, useMergedCells),
+            "Should not be able to auto-size an implicitly untracked column");
     }
-    
-    @Test
-    public void autoSizeColumn_trackAllColumns_explicitUntrackColumn() {
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void autoSizeColumn_trackAllColumns_explicitUntrackColumn(boolean useMergedCells) {
         workbook = new SXSSFWorkbook();
         sheet = workbook.createSheet();
-        
+
         sheet.trackColumnsForAutoSizing(columns);
         sheet.trackAllColumnsForAutoSizing();
 
         boolean untracked = sheet.untrackColumnForAutoSizing(0);
         assertTrue(untracked);
-        try {
-            sheet.autoSizeColumn(0, useMergedCells);
-            fail("Should not be able to auto-size an explicitly untracked column");
-        } catch (final IllegalStateException e) {
-            // expected
-        }
+        assertThrows(IllegalStateException.class, () -> sheet.autoSizeColumn(0, useMergedCells),
+            "Should not be able to auto-size an explicitly untracked column");
     }
-    
-    
+
+
     private static void assumeRequiredFontsAreInstalled(final Workbook workbook, final Cell cell) {
         // autoSize will fail if required fonts are not installed, skip this test then
         Font font = workbook.getFontAt(cell.getCellStyle().getFontIndex());
-        Assume.assumeTrue("Cannot verify autoSizeColumn() because the necessary Fonts are not installed on this machine: " + font,
-                          SheetUtil.canComputeColumnWidth(font));
+        assumeTrue(SheetUtil.canComputeColumnWidth(font),
+            "Cannot verify autoSizeColumn() because the necessary Fonts are not installed on this machine: " + font);
     }
-    
+
     private static Cell createRowWithCellValues(final Sheet sheet, final int rowNumber, final String... cellValues) {
         Row row = sheet.createRow(rowNumber);
         int cellIndex = 0;
@@ -369,12 +345,12 @@ public class TestSXSSFSheetAutoSizeColum
         }
         return firstCell;
     }
-    
+
     private static void assertColumnWidthStrictlyWithinRange(final int actualColumnWidth, final int lowerBoundExclusive, final int upperBoundExclusive) {
-        assertTrue("Expected a column width greater than " + lowerBoundExclusive + " but found " + actualColumnWidth,
-                actualColumnWidth > lowerBoundExclusive);
-        assertTrue("Expected column width less than " + upperBoundExclusive + " but found " + actualColumnWidth, actualColumnWidth < upperBoundExclusive);
-       
+        assertTrue(actualColumnWidth > lowerBoundExclusive,
+            "Expected a column width greater than " + lowerBoundExclusive + " but found " + actualColumnWidth);
+        assertTrue(actualColumnWidth < upperBoundExclusive,
+            "Expected column width less than " + upperBoundExclusive + " but found " + actualColumnWidth);
     }
-    
+
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFUnicodeSurrogates.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFUnicodeSurrogates.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFUnicodeSurrogates.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFUnicodeSurrogates.java Thu Dec 24 18:42:29 2020
@@ -17,13 +17,14 @@
 
 package org.apache.poi.xssf.streaming;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.util.TempFile;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -33,7 +34,7 @@ import java.io.IOException;
 public class TestSXSSFUnicodeSurrogates {
 
     // "𝝊𝝋𝝌𝝍𝝎𝝏𝝐𝝑𝝒𝝓𝝔𝝕𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮𝝯𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺";
-    private static String unicodeText =
+    private static final String unicodeText =
         "\uD835\uDF4A\uD835\uDF4B\uD835\uDF4C\uD835\uDF4D\uD835\uDF4E\uD835\uDF4F\uD835\uDF50\uD835" +
         "\uDF51\uD835\uDF52\uD835\uDF53\uD835\uDF54\uD835\uDF55\uD835\uDF56\uD835\uDF57\uD835\uDF58" +
         "\uD835\uDF59\uD835\uDF5A\uD835\uDF5B\uD835\uDF5C\uD835\uDF5D\uD835\uDF5E\uD835\uDF5F\uD835" +
@@ -58,7 +59,7 @@ public class TestSXSSFUnicodeSurrogates
                  XSSFWorkbook wb2 = new XSSFWorkbook(fis)) {
                 Sheet sheet2 = wb2.getSheet(sheetName);
                 Cell cell2 = sheet2.getRow(0).getCell(0);
-                Assert.assertEquals(unicodeText, cell2.getStringCellValue());
+                assertEquals(unicodeText, cell2.getStringCellValue());
             }
         } finally {
             tf.delete();

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java Thu Dec 24 18:42:29 2020
@@ -21,12 +21,13 @@ package org.apache.poi.xssf.streaming;
 
 import static org.apache.poi.POITestCase.assertEndsWith;
 import static org.apache.poi.POITestCase.assertStartsWith;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+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.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -52,9 +53,9 @@ import org.apache.poi.xssf.SXSSFITestDat
 import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.apache.poi.xssf.model.SharedStringsTable;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.After;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 public final class TestSXSSFWorkbook extends BaseTestXWorkbook {
 
@@ -62,7 +63,7 @@ public final class TestSXSSFWorkbook ext
         super(SXSSFITestDataProvider.instance);
     }
 
-    @After
+    @AfterEach
     public void tearDown(){
         ((SXSSFITestDataProvider)_testDataProvider).cleanup();
     }
@@ -73,12 +74,8 @@ public final class TestSXSSFWorkbook ext
     @Override
     @Test
     public void cloneSheet() throws IOException {
-        try {
-            super.cloneSheet();
-            fail("expected exception");
-        } catch (RuntimeException e){
-            assertEquals("Not Implemented", e.getMessage());
-        }
+        RuntimeException e = assertThrows(RuntimeException.class, super::cloneSheet);
+        assertEquals("Not Implemented", e.getMessage());
     }
 
     /**
@@ -87,12 +84,8 @@ public final class TestSXSSFWorkbook ext
     @Override
     @Test
     public void sheetClone() throws IOException {
-        try {
-            super.sheetClone();
-            fail("expected exception");
-        } catch (RuntimeException e){
-            assertEquals("Not Implemented", e.getMessage());
-        }
+        RuntimeException e = assertThrows(RuntimeException.class, super::sheetClone);
+        assertEquals("Not Implemented", e.getMessage());
     }
 
     /**
@@ -100,7 +93,7 @@ public final class TestSXSSFWorkbook ext
      *  changes.
      */
     @Override
-    @Ignore("SXSSF doesn't update formulas on sheet name changes, as most cells probably aren't in memory at the time")
+    @Disabled("SXSSF doesn't update formulas on sheet name changes, as most cells probably aren't in memory at the time")
     @Test
     public void setSheetName() {
     }
@@ -288,7 +281,7 @@ public final class TestSXSSFWorkbook ext
             assertEquals("sheet" + i, sh.getSheetName());
             for(int j = 0; j < rowNum; j++){
                 Row row = sh.getRow(j);
-                assertNotNull("row[" + j + "]", row);
+                assertNotNull(row, "row[" + j + "]");
                 Cell cell1 = row.getCell(0);
                 assertEquals(new CellReference(cell1).formatAsString(), cell1.getStringCellValue());
 
@@ -353,7 +346,7 @@ public final class TestSXSSFWorkbook ext
         wb2.close();
     }
 
-    @Ignore("currently writing the same sheet multiple times is not supported...")
+    @Disabled("currently writing the same sheet multiple times is not supported...")
     @Test
     public void bug53515() throws Exception {
         Workbook wb1 = new SXSSFWorkbook(10);
@@ -366,7 +359,7 @@ public final class TestSXSSFWorkbook ext
         wb1.close();
     }
 
-    @Ignore("Crashes the JVM because of documented JVM behavior with concurrent writing/reading of zip-files, "
+    @Disabled("Crashes the JVM because of documented JVM behavior with concurrent writing/reading of zip-files, "
             + "see http://www.oracle.com/technetwork/java/javase/documentation/overview-156328.html")
     @Test
     public void bug53515a() throws Exception {
@@ -494,7 +487,7 @@ public final class TestSXSSFWorkbook ext
      * TODO Fix this to work!
      */
     @Test
-    @Ignore
+    @Disabled
     public void createFromReadOnlyWorkbook() throws Exception {
         String sheetName = "Test SXSSF";
         File input = XSSFTestDataSamples.getSampleFile("sample.xlsx");

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithCustomZipEntrySource.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithCustomZipEntrySource.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithCustomZipEntrySource.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbookWithCustomZipEntrySource.java Thu Dec 24 18:42:29 2020
@@ -19,9 +19,9 @@
 
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+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 java.nio.charset.StandardCharsets.UTF_8;
 
 import java.io.ByteArrayInputStream;
@@ -31,7 +31,6 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.nio.charset.Charset;
 import java.security.GeneralSecurityException;
 import java.util.List;
 
@@ -46,17 +45,17 @@ import org.apache.poi.xssf.usermodel.XSS
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * This class tests that an SXSSFWorkbook can be written and read where all temporary disk I/O
  * is encrypted, but the final saved workbook is not encrypted
  */
 public final class TestSXSSFWorkbookWithCustomZipEntrySource {
-    
+
     final String sheetName = "TestSheet1";
     final String cellValue = "customZipEntrySource";
-    
+
     // write an unencrypted workbook to disk, but any temporary files are encrypted
     @Test
     public void customZipEntrySource() throws IOException {
@@ -77,7 +76,7 @@ public final class TestSXSSFWorkbookWith
         assertEquals(cellValue, xc1.getStringCellValue());
         xwb.close();
     }
-    
+
     // write an encrypted workbook to disk, and encrypt any temporary files as well
     @Test
     public void customZipEntrySourceForWriteAndRead() throws IOException, GeneralSecurityException, InvalidFormatException {
@@ -105,7 +104,7 @@ public final class TestSXSSFWorkbookWith
             }
         }
     }
-    
+
     @Test
     public void validateTempFilesAreEncrypted() throws IOException {
         TempFileRecordingSXSSFWorkbookWithCustomZipEntrySource workbook = new TempFileRecordingSXSSFWorkbookWithCustomZipEntrySource();
@@ -119,7 +118,7 @@ public final class TestSXSSFWorkbookWith
         List<File> tempFiles = workbook.getTempFiles();
         assertEquals(1, tempFiles.size());
         File tempFile = tempFiles.get(0);
-        assertTrue("tempFile exists?", tempFile.exists());
+        assertTrue(tempFile.exists(), "tempFile exists?");
         try (InputStream stream = new FileInputStream(tempFile)) {
             byte[] data = IOUtils.toByteArray(stream);
             String text = new String(data, UTF_8);
@@ -127,6 +126,6 @@ public final class TestSXSSFWorkbookWith
             assertFalse(text.contains(cellValue));
         }
         workbook.dispose();
-        assertFalse("tempFile deleted after dispose?", tempFile.exists());
+        assertFalse(tempFile.exists(), "tempFile deleted after dispose?");
     }
 }
\ No newline at end of file

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java Thu Dec 24 18:42:29 2020
@@ -19,9 +19,9 @@
 
 package org.apache.poi.xssf.streaming;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+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 java.io.File;
 import java.io.FileInputStream;
@@ -29,7 +29,7 @@ import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 
 import org.apache.poi.util.IOUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class TestSheetDataWriter {
 
@@ -53,7 +53,7 @@ public final class TestSheetDataWriter {
         assertTrue(SheetDataWriter.replaceWithQuestionMark('\u000F'));
         assertTrue(SheetDataWriter.replaceWithQuestionMark('\u001F'));
 	}
-    
+
     @Test
     public void testWriteUnicodeSurrogates() throws IOException {
         SheetDataWriter writer = new SheetDataWriter();

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java Thu Dec 24 18:42:29 2020
@@ -16,9 +16,10 @@
 ==================================================================== */
 package org.apache.poi.xssf.usermodel;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.io.IOException;
 
@@ -28,9 +29,9 @@ import org.apache.poi.ss.usermodel.DataC
 import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageField;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageFields;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotFields;
@@ -47,10 +48,10 @@ public abstract class BaseTestXSSFPivotT
     /**
      * required to set up the test pivot tables and cell reference, either by name or reference.
      */
-    @Before
+    @BeforeEach
     public abstract void setUp();
 
-    @After
+    @AfterEach
     public void tearDown() throws IOException {
         if (wb != null) {
             XSSFWorkbook wb2 = _testDataProvider.writeOutAndReadBack(wb);
@@ -87,9 +88,9 @@ public abstract class BaseTestXSSFPivotT
     /**
      * Verify that it's not possible to create a row label outside of the referenced area.
      */
-    @Test(expected = IndexOutOfBoundsException.class)
+    @Test
     public void testAddRowLabelOutOfRangeThrowsException() {
-        pivotTable.addRowLabel(5);
+        assertThrows(IndexOutOfBoundsException.class, () -> pivotTable.addRowLabel(5));
     }
 
     /**
@@ -208,9 +209,9 @@ public abstract class BaseTestXSSFPivotT
     /**
      * Verify that it's not possible to create a column label outside of the referenced area.
      */
-    @Test(expected = IndexOutOfBoundsException.class)
+    @Test
     public void testAddColumnLabelOutOfRangeThrowsException() {
-        pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 5);
+        assertThrows(IndexOutOfBoundsException.class, () -> pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 5));
     }
 
      /**
@@ -230,9 +231,9 @@ public abstract class BaseTestXSSFPivotT
     /**
      * Verify that it's not possible to create a data column outside of the referenced area.
      */
-    @Test(expected = IndexOutOfBoundsException.class)
+    @Test
     public void testAddDataColumnOutOfRangeThrowsException() {
-        pivotTable.addDataColumn(5, true);
+        assertThrows(IndexOutOfBoundsException.class, () -> pivotTable.addDataColumn(5, true));
     }
 
      /**
@@ -253,9 +254,9 @@ public abstract class BaseTestXSSFPivotT
      /**
      * Verify that it's not possible to create a new filter outside of the referenced area.
      */
-    @Test(expected = IndexOutOfBoundsException.class)
+    @Test
     public void testAddReportFilterOutOfRangeThrowsException() {
-        pivotTable.addReportFilter(5);
+        assertThrows(IndexOutOfBoundsException.class, () -> pivotTable.addReportFilter(5));
     }
 
     /**
@@ -316,8 +317,8 @@ public abstract class BaseTestXSSFPivotT
     /**
      * Verify that it's not possible to create a col label outside of the referenced area.
      */
-    @Test(expected = IndexOutOfBoundsException.class)
+    @Test
     public void testAddColLabelOutOfRangeThrowsException() {
-        pivotTable.addColLabel(5);
+        assertThrows(IndexOutOfBoundsException.class, () -> pivotTable.addColLabel(5));
     }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java Thu Dec 24 18:42:29 2020
@@ -17,17 +17,16 @@
 
 package org.apache.poi.xssf.usermodel;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeFalse;
-import static org.junit.Assume.assumeNotNull;
-import static org.junit.Assume.assumeTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.List;
 import java.util.Locale;
+import java.util.stream.Stream;
 
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.openxml4j.opc.OPCPackage;
@@ -43,12 +42,10 @@ import org.apache.poi.ss.usermodel.Sheet
 import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.util.POILogFactory;
 import org.apache.poi.util.POILogger;
-import org.junit.AfterClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
 /**
  * Performs much the same role as {@link TestFormulasFromSpreadsheet},
@@ -60,7 +57,6 @@ import org.junit.runners.Parameterized.P
  *  Excel 2007, and re-save it as FormulaEvalTestData_Copy.xlsx
  *
  */
-@RunWith(Parameterized.class)
 public final class TestFormulaEvaluatorOnXSSF {
     private static final POILogger logger = POILogFactory.getLogger(TestFormulaEvaluatorOnXSSF.class);
 
@@ -72,7 +68,7 @@ public final class TestFormulaEvaluatorO
 	/**
 	 * This class defines constants for navigating around the test data spreadsheet used for these tests.
 	 */
-	private static interface SS {
+	private interface SS {
 
 		/**
 		 * Name of the test spreadsheet (found in the standard test data folder)
@@ -107,21 +103,13 @@ public final class TestFormulaEvaluatorO
         int NUMBER_OF_ROWS_PER_FUNCTION = 4;
 	}
 
-    @Parameter(value = 0)
-    public String targetFunctionName;
-    @Parameter(value = 1)
-    public int formulasRowIdx;
-    @Parameter(value = 2)
-    public int expectedValuesRowIdx;
-
-    @AfterClass
+    @AfterAll
     public static void closeResource() throws Exception {
         LocaleUtil.setUserLocale(userLocale);
         workbook.close();
     }
 
-    @Parameters(name="{0}")
-    public static Collection<Object[]> data() throws Exception {
+    public static Stream<Arguments> data() throws Exception {
         // Function "Text" uses custom-formats which are locale specific
         // can't set the locale on a per-testrun execution, as some settings have been
         // already set, when we would try to change the locale by then
@@ -132,7 +120,7 @@ public final class TestFormulaEvaluatorO
         sheet = workbook.getSheetAt( 0 );
         evaluator = new XSSFFormulaEvaluator(workbook);
 
-        List<Object[]> data = new ArrayList<>();
+        List<Arguments> data = new ArrayList<>();
 
         processFunctionGroup(data, SS.START_OPERATORS_ROW_INDEX, null);
         processFunctionGroup(data, SS.START_FUNCTIONS_ROW_INDEX, null);
@@ -140,7 +128,7 @@ public final class TestFormulaEvaluatorO
         // processFunctionGroup(data, SS.START_OPERATORS_ROW_INDEX, "ConcatEval");
         // processFunctionGroup(data, SS.START_FUNCTIONS_ROW_INDEX, "Text");
 
-        return data;
+        return data.stream();
     }
 
     /**
@@ -148,7 +136,7 @@ public final class TestFormulaEvaluatorO
      * @param testFocusFunctionName name of a single function/operator to test alone.
      * Typically pass <code>null</code> to test all functions
      */
-    private static void processFunctionGroup(List<Object[]> data, int startRowIndex, String testFocusFunctionName) {
+    private static void processFunctionGroup(List<Arguments> data, int startRowIndex, String testFocusFunctionName) {
         for (int rowIndex = startRowIndex; true; rowIndex += SS.NUMBER_OF_ROWS_PER_FUNCTION) {
             Row r = sheet.getRow(rowIndex);
 
@@ -156,9 +144,9 @@ public final class TestFormulaEvaluatorO
             if(r == null) continue;
 
             String targetFunctionName = getTargetFunctionName(r);
-            assertNotNull("Test spreadsheet cell empty on row ("
+            assertNotNull(targetFunctionName, "Test spreadsheet cell empty on row ("
                 + (rowIndex+1) + "). Expected function name or '"
-                + SS.FUNCTION_NAMES_END_SENTINEL + "'", targetFunctionName);
+                + SS.FUNCTION_NAMES_END_SENTINEL + "'");
 
             if(targetFunctionName.equals(SS.FUNCTION_NAMES_END_SENTINEL)) {
                 // found end of functions list
@@ -169,18 +157,18 @@ public final class TestFormulaEvaluatorO
                 // expected results are on the row below
                 Row expectedValuesRow = sheet.getRow(rowIndex + 1);
                 // +1 for 1-based, +1 for next row
-                assertNotNull("Missing expected values row for function '"
-                    + targetFunctionName + " (row " + rowIndex + 2 + ")"
-                    , expectedValuesRow);
+                assertNotNull(expectedValuesRow, "Missing expected values row for function '"
+                    + targetFunctionName + " (row " + rowIndex + 2 + ")");
 
-                data.add(new Object[]{targetFunctionName, rowIndex, rowIndex + 1});
+                data.add(Arguments.of(targetFunctionName, rowIndex, rowIndex + 1));
             }
         }
     }
 
 
-	@Test
-	public void processFunctionRow() {
+	@ParameterizedTest
+	@MethodSource("data")
+	public void processFunctionRow(String targetFunctionName, int formulasRowIdx, int expectedValuesRowIdx) {
 	    Row formulasRow = sheet.getRow(formulasRowIdx);
 	    Row expectedValuesRow = sheet.getRow(expectedValuesRowIdx);
 
@@ -189,7 +177,7 @@ public final class TestFormulaEvaluatorO
 		// iterate across the row for all the evaluation cases
 		for (short colnum=SS.COLUMN_INDEX_FIRST_TEST_VALUE; colnum < endcolnum; colnum++) {
 			Cell c = formulasRow.getCell(colnum);
-			assumeNotNull(c);
+			assumeTrue(c != null);
 			assumeTrue(c.getCellType() == CellType.FORMULA);
 			ignoredFormulaTestCase(c.getCellFormula());
 
@@ -199,20 +187,20 @@ public final class TestFormulaEvaluatorO
 			String msg = String.format(Locale.ROOT, "Function '%s': Formula: %s @ %d:%d"
 		        , targetFunctionName, c.getCellFormula(), formulasRow.getRowNum(), colnum);
 
-			assertNotNull(msg + " - Bad setup data expected value is null", expValue);
-			assertNotNull(msg + " - actual value was null", actValue);
+			assertNotNull(expValue, msg + " - Bad setup data expected value is null");
+			assertNotNull(actValue, msg + " - actual value was null");
 
 	        final CellType expectedCellType = expValue.getCellType();
 	        switch (expectedCellType) {
 	            case BLANK:
-	                assertEquals(msg, CellType.BLANK, actValue.getCellType());
+	                assertEquals(CellType.BLANK, actValue.getCellType(), msg);
 	                break;
 	            case BOOLEAN:
-	                assertEquals(msg, CellType.BOOLEAN, actValue.getCellType());
-	                assertEquals(msg, expValue.getBooleanCellValue(), actValue.getBooleanValue());
+	                assertEquals(CellType.BOOLEAN, actValue.getCellType(), msg);
+	                assertEquals(expValue.getBooleanCellValue(), actValue.getBooleanValue(), msg);
 	                break;
 	            case ERROR:
-	                assertEquals(msg, CellType.ERROR, actValue.getCellType());
+	                assertEquals(CellType.ERROR, actValue.getCellType(), msg);
 //	              if(false) { // TODO: fix ~45 functions which are currently returning incorrect error values
 //	                  assertEquals(msg, expValue.getErrorCellValue(), actValue.getErrorValue());
 //	              }
@@ -220,15 +208,15 @@ public final class TestFormulaEvaluatorO
 	            case FORMULA: // will never be used, since we will call method after formula evaluation
 	                fail("Cannot expect formula as result of formula evaluation: " + msg);
 	            case NUMERIC:
-	                assertEquals(msg, CellType.NUMERIC, actValue.getCellType());
-					BaseTestNumeric.assertEquals(msg, expValue.getNumericCellValue(), actValue.getNumberValue(), BaseTestNumeric.POS_ZERO, BaseTestNumeric.DIFF_TOLERANCE_FACTOR);
+	                assertEquals(CellType.NUMERIC, actValue.getCellType(), msg);
+					BaseTestNumeric.assertDouble(msg, expValue.getNumericCellValue(), actValue.getNumberValue(), BaseTestNumeric.POS_ZERO, BaseTestNumeric.DIFF_TOLERANCE_FACTOR);
 //	              double delta = Math.abs(expValue.getNumericCellValue()-actValue.getNumberValue());
 //	              double pctExpValue = Math.abs(0.00001*expValue.getNumericCellValue());
 //	              assertTrue(msg, delta <= pctExpValue);
 	                break;
 	            case STRING:
-	                assertEquals(msg, CellType.STRING, actValue.getCellType());
-	                assertEquals(msg, expValue.getRichStringCellValue().getString(), actValue.getStringValue());
+	                assertEquals(CellType.STRING, actValue.getCellType(), msg);
+	                assertEquals(expValue.getRichStringCellValue().getString(), actValue.getStringValue(), msg);
 	                break;
 	            default:
 	                fail("Unexpected cell type: " + expectedCellType);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org