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