diff --git a/src/ooxml/java/org/apache/poi/util/OOXMLLite.java b/src/ooxml/java/org/apache/poi/util/OOXMLLite.java index 16fc12d99..d8a72391e 100644 --- a/src/ooxml/java/org/apache/poi/util/OOXMLLite.java +++ b/src/ooxml/java/org/apache/poi/util/OOXMLLite.java @@ -92,6 +92,9 @@ public final class OOXMLLite { List> lst = new ArrayList>(); //collect unit tests String exclude = StringUtil.join("|", + "BaseTestXWorkbook", + "BaseTestXSheet", + "BaseTestXRow", "BaseTestXCell", "TestSXSSFWorkbook\\$\\d", "TestSXSSFWorkbook\\$NullOutputStream", diff --git a/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXRow.java b/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXRow.java new file mode 100644 index 000000000..a4b21001e --- /dev/null +++ b/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXRow.java @@ -0,0 +1,48 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.ss.usermodel; + +import java.io.IOException; + +import org.apache.poi.ss.ITestDataProvider; +import org.apache.poi.xssf.streaming.SXSSFRow; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.junit.Test; + +/** + * Class for combined testing of XML-specific functionality of + * {@link XSSFRow} and {@link SXSSFRow}. + * + * Any test that is applicable for {@link org.apache.poi.hssf.usermodel.HSSFRow} as well should go into + * the common base class {@link BaseTestRow}. + */ +public abstract class BaseTestXRow extends BaseTestRow { + protected BaseTestXRow(ITestDataProvider testDataProvider) { + super(testDataProvider); + } + + @Test + public void testRowBounds() throws IOException { + baseTestRowBounds(_testDataProvider.getSpreadsheetVersion().getLastRowIndex()); + } + + @Test + public void testCellBounds() throws IOException { + baseTestCellBounds(_testDataProvider.getSpreadsheetVersion().getLastColumnIndex()); + } +} diff --git a/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXSheet.java b/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXSheet.java new file mode 100644 index 000000000..f6e1bffde --- /dev/null +++ b/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXSheet.java @@ -0,0 +1,35 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.ss.usermodel; + +import org.apache.poi.ss.ITestDataProvider; +import org.apache.poi.xssf.streaming.SXSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFSheet; + +/** + * Class for combined testing of XML-specific functionality of + * {@link XSSFSheet} and {@link SXSSFSheet}. + * + * Any test that is applicable for {@link org.apache.poi.hssf.usermodel.HSSFSheet} as well should go into + * the common base class {@link BaseTestSheet}. + */ +public abstract class BaseTestXSheet extends BaseTestSheet { + protected BaseTestXSheet(ITestDataProvider testDataProvider) { + super(testDataProvider); + } +} diff --git a/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXWorkbook.java b/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXWorkbook.java new file mode 100644 index 000000000..9c7fe3a09 --- /dev/null +++ b/src/ooxml/testcases/org/apache/poi/ss/usermodel/BaseTestXWorkbook.java @@ -0,0 +1,35 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.ss.usermodel; + +import org.apache.poi.ss.ITestDataProvider; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +/** + * Class for combined testing of XML-specific functionality of + * {@link XSSFWorkbook} and {@link SXSSFWorkbook}. + * + * Any test that is applicable for {@link org.apache.poi.hssf.usermodel.HSSFWorkbook} as well should go into + * the common base class {@link BaseTestWorkbook}. + */ +public abstract class BaseTestXWorkbook extends BaseTestWorkbook { + protected BaseTestXWorkbook(ITestDataProvider testDataProvider) { + super(testDataProvider); + } +} diff --git a/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java b/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java index 3ebedd6fa..c9a113711 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFRow.java @@ -19,10 +19,7 @@ package org.apache.poi.xssf.streaming; -import java.io.IOException; - -import org.apache.poi.ss.SpreadsheetVersion; -import org.apache.poi.ss.usermodel.BaseTestRow; +import org.apache.poi.ss.usermodel.BaseTestXRow; import org.apache.poi.xssf.SXSSFITestDataProvider; import org.junit.After; import org.junit.Test; @@ -30,7 +27,7 @@ import org.junit.Test; /** * Tests for XSSFRow */ -public final class TestSXSSFRow extends BaseTestRow { +public final class TestSXSSFRow extends BaseTestXRow { public TestSXSSFRow() { super(SXSSFITestDataProvider.instance); @@ -39,17 +36,7 @@ public final class TestSXSSFRow extends BaseTestRow { @After public void tearDown() { - SXSSFITestDataProvider.instance.cleanup(); - } - - @Test - public void testRowBounds() throws IOException { - baseTestRowBounds(SpreadsheetVersion.EXCEL2007.getLastRowIndex()); - } - - @Test - public void testCellBounds() throws IOException { - baseTestCellBounds(SpreadsheetVersion.EXCEL2007.getLastColumnIndex()); + ((SXSSFITestDataProvider) _testDataProvider).cleanup(); } } diff --git a/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java b/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java index fbe14f106..07b80c43e 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java @@ -23,11 +23,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import java.io.IOException; -import java.util.SortedSet; -import java.util.TreeSet; -import org.apache.poi.ss.SpreadsheetVersion; -import org.apache.poi.ss.usermodel.BaseTestSheet; +import org.apache.poi.ss.usermodel.BaseTestXSheet; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.SXSSFITestDataProvider; @@ -36,7 +33,7 @@ import org.junit.After; import org.junit.Test; -public class TestSXSSFSheet extends BaseTestSheet { +public final class TestSXSSFSheet extends BaseTestXSheet { public TestSXSSFSheet() { super(SXSSFITestDataProvider.instance); @@ -157,9 +154,4 @@ public class TestSXSSFSheet extends BaseTestSheet { template.close(); } } - - @Test(expected=IllegalArgumentException.class) - public void createRowAfterLastRow() throws IOException { - createRowAfterLastRow(SpreadsheetVersion.EXCEL2007); - } } diff --git a/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java b/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java index f8816a406..3eb5a29be 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java @@ -32,11 +32,8 @@ import java.io.IOException; import org.apache.poi.POIDataSamples; import org.apache.poi.POITestCase; -import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.ss.SpreadsheetVersion; -import org.apache.poi.ss.usermodel.BaseTestWorkbook; +import org.apache.poi.ss.usermodel.BaseTestXWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; @@ -52,16 +49,15 @@ import org.junit.Assume; import org.junit.Ignore; import org.junit.Test; -public final class TestSXSSFWorkbook extends BaseTestWorkbook { - private static final SXSSFITestDataProvider _testDataProvider = SXSSFITestDataProvider.instance; +public final class TestSXSSFWorkbook extends BaseTestXWorkbook { public TestSXSSFWorkbook() { - super(_testDataProvider); - } + super(SXSSFITestDataProvider.instance); + } @After public void tearDown(){ - _testDataProvider.cleanup(); + ((SXSSFITestDataProvider)_testDataProvider).cleanup(); } /** @@ -310,7 +306,7 @@ public final class TestSXSSFWorkbook extends BaseTestWorkbook { xwb.close(); } - static void assertWorkbookDispose(SXSSFWorkbook wb) + protected static void assertWorkbookDispose(SXSSFWorkbook wb) { int rowNum = 1000; int sheetNum = 5; @@ -458,12 +454,7 @@ public final class TestSXSSFWorkbook extends BaseTestWorkbook { workBook.close(); } - @Test - @Override - public void getSpreadsheetVersion() throws IOException { - verifySpreadsheetVersion(SpreadsheetVersion.EXCEL2007); - } - + @Test public void closeDoesNotModifyWorkbook() throws IOException, InvalidFormatException { final String filename = "SampleSS.xlsx"; diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java index 67b503857..c83336b7d 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java @@ -23,8 +23,7 @@ import static org.junit.Assert.assertSame; import java.io.IOException; -import org.apache.poi.ss.SpreadsheetVersion; -import org.apache.poi.ss.usermodel.BaseTestRow; +import org.apache.poi.ss.usermodel.BaseTestXRow; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellCopyPolicy; import org.apache.poi.ss.usermodel.Row; @@ -35,22 +34,13 @@ import org.junit.Test; /** * Tests for XSSFRow */ -public final class TestXSSFRow extends BaseTestRow { +public final class TestXSSFRow extends BaseTestXRow { public TestXSSFRow() { super(XSSFITestDataProvider.instance); } - - @Test - public void testRowBounds() throws IOException { - baseTestRowBounds(SpreadsheetVersion.EXCEL2007.getLastRowIndex()); - } - - @Test - public void testCellBounds() throws IOException { - baseTestCellBounds(SpreadsheetVersion.EXCEL2007.getLastColumnIndex()); - } + @Test public void testCopyRowFrom() throws IOException { final XSSFWorkbook workbook = new XSSFWorkbook(); final XSSFSheet sheet = workbook.createSheet("test"); @@ -65,6 +55,7 @@ public final class TestXSSFRow extends BaseTestRow { workbook.close(); } + @Test public void testCopyRowFromExternalSheet() throws IOException { final XSSFWorkbook workbook = new XSSFWorkbook(); final Sheet srcSheet = workbook.createSheet("src"); @@ -159,6 +150,7 @@ public final class TestXSSFRow extends BaseTestRow { workbook.close(); } + @Test public void testCopyRowOverwritesExistingRow() throws IOException { final XSSFWorkbook workbook = new XSSFWorkbook(); final XSSFSheet sheet1 = workbook.createSheet("Sheet1"); diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java index 1e641c64e..6b1eebe65 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java @@ -26,7 +26,6 @@ import static org.junit.Assert.assertNotSame; 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 java.io.IOException; import java.util.Arrays; @@ -43,7 +42,7 @@ import org.apache.poi.poifs.crypt.CryptoFunctions; import org.apache.poi.poifs.crypt.HashAlgorithm; import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.usermodel.AutoFilter; -import org.apache.poi.ss.usermodel.BaseTestSheet; +import org.apache.poi.ss.usermodel.BaseTestXSheet; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellCopyPolicy; import org.apache.poi.ss.usermodel.ClientAnchor; @@ -82,7 +81,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCalcMode; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPane; -public final class TestXSSFSheet extends BaseTestSheet { +public final class TestXSSFSheet extends BaseTestXSheet { public TestXSSFSheet() { super(XSSFITestDataProvider.instance); @@ -1055,11 +1054,6 @@ public final class TestXSSFSheet extends BaseTestSheet { wb2.close(); } - - @Test(expected=IllegalArgumentException.class) - public void createRowAfterLastRow() throws IOException { - createRowAfterLastRow(SpreadsheetVersion.EXCEL2007); - } @Test public void setAutoFilter() throws IOException { @@ -1604,7 +1598,7 @@ public final class TestXSSFSheet extends BaseTestSheet { wb.close(); } - public void testCopyMultipleRows(String copyRowsTestWorkbook) throws IOException { + protected void testCopyMultipleRows(String copyRowsTestWorkbook) throws IOException { final double FLOAT_PRECISION = 1e-9; final XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook(copyRowsTestWorkbook); final XSSFSheet sheet = wb.getSheetAt(0); diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java index b0266ee4e..8d3eb852c 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java @@ -53,7 +53,7 @@ import org.apache.poi.openxml4j.opc.internal.FileHelper; import org.apache.poi.openxml4j.opc.internal.MemoryPackagePart; import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart; import org.apache.poi.ss.SpreadsheetVersion; -import org.apache.poi.ss.usermodel.BaseTestWorkbook; +import org.apache.poi.ss.usermodel.BaseTestXWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; @@ -77,11 +77,10 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCalcMode; -public final class TestXSSFWorkbook extends BaseTestWorkbook { - private static final XSSFITestDataProvider _testDataProvider = XSSFITestDataProvider.instance; +public final class TestXSSFWorkbook extends BaseTestXWorkbook { public TestXSSFWorkbook() { - super(_testDataProvider); + super(XSSFITestDataProvider.instance); } /** @@ -774,7 +773,7 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook { } } - public void setPivotData(XSSFWorkbook wb){ + protected void setPivotData(XSSFWorkbook wb){ XSSFSheet sheet = wb.createSheet(); Row row1 = sheet.createRow(0); @@ -949,8 +948,6 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook { workbook.close(); } - @SuppressWarnings("unchecked") - @Test /** * Iterator XSSFWorkbook.iterator was committed in r700472 on 2008-09-30 * and has been replaced with Iterator XSSFWorkbook.iterator @@ -966,6 +963,8 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook { * upgrade their code with either of the following options presented in this test case. * */ + @SuppressWarnings("unchecked") + @Test public void bug58245_XSSFSheetIterator() throws IOException { final XSSFWorkbook wb = new XSSFWorkbook(); wb.createSheet(); @@ -1066,12 +1065,6 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook { } } - @Test - @Override - public void getSpreadsheetVersion() throws IOException { - verifySpreadsheetVersion(SpreadsheetVersion.EXCEL2007); - } - @Test public void closeDoesNotModifyWorkbook() throws IOException, InvalidFormatException { final String filename = "SampleSS.xlsx"; diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java index ed43b4264..65a5f21db 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java @@ -56,7 +56,6 @@ import org.apache.poi.hssf.record.WSBoolRecord; import org.apache.poi.hssf.record.WindowTwoRecord; import org.apache.poi.hssf.record.aggregates.WorksheetProtectionBlock; import org.apache.poi.hssf.usermodel.RecordInspector.RecordCollector; -import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.formula.ptg.Area3DPtg; import org.apache.poi.ss.formula.ptg.Ptg; import org.apache.poi.ss.usermodel.AutoFilter; @@ -83,11 +82,6 @@ public final class TestHSSFSheet extends BaseTestSheet { public TestHSSFSheet() { super(HSSFITestDataProvider.instance); } - - @Test(expected=IllegalArgumentException.class) - public void createRowAfterLastRow() throws IOException { - createRowAfterLastRow(SpreadsheetVersion.EXCEL97); - } /** * Test for Bugzilla #29747. diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java index 167e41adf..65a6422cf 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java @@ -53,7 +53,6 @@ import org.apache.poi.poifs.filesystem.DirectoryEntry; import org.apache.poi.poifs.filesystem.DirectoryNode; import org.apache.poi.poifs.filesystem.NPOIFSFileSystem; import org.apache.poi.poifs.filesystem.POIFSFileSystem; -import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.formula.ptg.Area3DPtg; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; @@ -216,7 +215,6 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook { wb.close(); } - @SuppressWarnings("unused") @Test public void selectMultiple() throws IOException { HSSFWorkbook wb=new HSSFWorkbook(); @@ -1194,12 +1192,6 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook { } - @Test - @Override - public void getSpreadsheetVersion() throws IOException { - verifySpreadsheetVersion(SpreadsheetVersion.EXCEL97); - } - @Test public void closeDoesNotModifyWorkbook() throws IOException { final String filename = "SampleSS.xls"; diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java index 680169539..5b22f8279 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java @@ -36,7 +36,7 @@ import org.junit.Test; */ public abstract class BaseTestRow { - private final ITestDataProvider _testDataProvider; + protected final ITestDataProvider _testDataProvider; protected BaseTestRow(ITestDataProvider testDataProvider) { _testDataProvider = testDataProvider; @@ -72,6 +72,7 @@ public abstract class BaseTestRow { * Make sure that there is no cross-talk between rows especially with getFirstCellNum and getLastCellNum * This test was added in response to bug report 44987. */ + @Test public void testBoundsInMultipleRows() throws IOException { Workbook workbook = _testDataProvider.createWorkbook(); Sheet sheet = workbook.createSheet(); @@ -97,6 +98,7 @@ public abstract class BaseTestRow { workbook.close(); } + @Test public void testRemoveCell() throws IOException { Workbook wb1 = _testDataProvider.createWorkbook(); { @@ -139,7 +141,7 @@ public abstract class BaseTestRow { wb2.close(); } - public void baseTestRowBounds(int maxRowNum) throws IOException { + protected void baseTestRowBounds(int maxRowNum) throws IOException { Workbook workbook = _testDataProvider.createWorkbook(); Sheet sheet = workbook.createSheet(); //Test low row bound @@ -168,7 +170,7 @@ public abstract class BaseTestRow { workbook.close(); } - public void baseTestCellBounds(int maxCellNum) throws IOException { + protected void baseTestCellBounds(int maxCellNum) throws IOException { Workbook wb1 = _testDataProvider.createWorkbook(); Sheet sheet = wb1.createSheet(); @@ -211,6 +213,7 @@ public abstract class BaseTestRow { * Prior to patch 43901, POI was producing files with the wrong last-column * number on the row */ + @Test public void testLastCellNumIsCorrectAfterAddCell_bug43901() throws IOException { Workbook workbook = _testDataProvider.createWorkbook(); Sheet sheet = workbook.createSheet("test"); @@ -234,6 +237,7 @@ public abstract class BaseTestRow { /** * Tests for the missing/blank cell policy stuff */ + @Test public void testGetCellPolicy() throws IOException { Workbook workbook = _testDataProvider.createWorkbook(); Sheet sheet = workbook.createSheet("test"); @@ -305,6 +309,7 @@ public abstract class BaseTestRow { workbook.close(); } + @Test public void testRowHeight() throws IOException { Workbook wb1 = _testDataProvider.createWorkbook(); Sheet sheet = wb1.createSheet(); @@ -360,6 +365,7 @@ public abstract class BaseTestRow { /** * Test adding cells to a row in various places and see if we can find them again. */ + @Test public void testCellIterator() throws IOException { Workbook wb = _testDataProvider.createWorkbook(); Sheet sheet = wb.createSheet(); @@ -417,6 +423,7 @@ public abstract class BaseTestRow { wb.close(); } + @Test public void testRowStyle() throws IOException { Workbook wb1 = _testDataProvider.createWorkbook(); Sheet sheet = wb1.createSheet("test"); diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java index 830298181..6d8160638 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java @@ -51,10 +51,10 @@ public abstract class BaseTestSheet { @Rule public ExpectedException thrown = ExpectedException.none(); - private final ITestDataProvider _testDataProvider; + protected final ITestDataProvider _testDataProvider; protected BaseTestSheet(ITestDataProvider testDataProvider) { - _testDataProvider = testDataProvider; + _testDataProvider = testDataProvider; } protected void trackColumnsForAutoSizingIfSXSSF(Sheet sheet) { @@ -116,7 +116,9 @@ public abstract class BaseTestSheet { } } - protected void createRowAfterLastRow(SpreadsheetVersion version) throws IOException { + @Test(expected=IllegalArgumentException.class) + public void createRowAfterLastRow() throws IOException { + final SpreadsheetVersion version = _testDataProvider.getSpreadsheetVersion(); final Workbook workbook = _testDataProvider.createWorkbook(); final Sheet sh = workbook.createSheet(); sh.createRow(version.getLastRowIndex()); @@ -128,7 +130,6 @@ public abstract class BaseTestSheet { } } - @Test public void removeRow() throws IOException { Workbook workbook = _testDataProvider.createWorkbook(); diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java index 2169db3d5..6290119f5 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java @@ -33,16 +33,15 @@ import java.util.Iterator; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.ss.ITestDataProvider; -import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.util.CellRangeAddress; import org.junit.Test; public abstract class BaseTestWorkbook { - private final ITestDataProvider _testDataProvider; + protected final ITestDataProvider _testDataProvider; protected BaseTestWorkbook(ITestDataProvider testDataProvider) { - _testDataProvider = testDataProvider; + _testDataProvider = testDataProvider; } @Test @@ -743,7 +742,7 @@ public abstract class BaseTestWorkbook { wb2.close(); } - public void changeSheetNameWithSharedFormulas(String sampleFile) throws IOException { + protected void changeSheetNameWithSharedFormulas(String sampleFile) throws IOException { Workbook wb = _testDataProvider.openSampleWorkbook(sampleFile); FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); @@ -827,11 +826,9 @@ public abstract class BaseTestWorkbook { } @Test - public abstract void getSpreadsheetVersion() throws IOException; - - protected void verifySpreadsheetVersion(SpreadsheetVersion expected) throws IOException { + public void getSpreadsheetVersion() throws IOException { final Workbook wb = _testDataProvider.createWorkbook(); - assertEquals(expected, wb.getSpreadsheetVersion()); + assertEquals(_testDataProvider.getSpreadsheetVersion(), wb.getSpreadsheetVersion()); wb.close(); }