]> source.dussan.org Git - poi.git/commitdiff
Replaced getInstance methods with field for instances of ITestDataProvider. Some...
authorJosh Micich <josh@apache.org>
Sat, 26 Dec 2009 02:17:34 +0000 (02:17 +0000)
committerJosh Micich <josh@apache.org>
Sat, 26 Dec 2009 02:17:34 +0000 (02:17 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@893929 13f79535-47bb-0310-9956-ffa450edef68

38 files changed:
src/ooxml/testcases/org/apache/poi/xssf/XSSFITestDataProvider.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFChartSheet.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDataFormat.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFHyperlink.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetUpdateArrayFormulas.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
src/testcases/org/apache/poi/hssf/HSSFITestDataProvider.java
src/testcases/org/apache/poi/hssf/eventmodel/TestAbortableListener.java
src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDataFormat.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFHyperlink.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFName.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheetUpdateArrayFormulas.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestCellComment.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestDataFormat.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestFont.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestHyperlink.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestRow.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java

index 4982081ca1fe8872b5624de57011ee6bbd0404bc..b08403b2409945eca882af6ea02efe4f033da22c 100644 (file)
@@ -32,9 +32,6 @@ public final class XSSFITestDataProvider implements ITestDataProvider {
     private XSSFITestDataProvider() {
         // enforce singleton
     }
-    public static XSSFITestDataProvider getInstance(){
-        return instance;
-    }
     public XSSFWorkbook openSampleWorkbook(String sampleFileName) {
         return XSSFTestDataSamples.openSampleWorkbook(sampleFileName);
     }
index e98676114cf307611fa7b9a76299362148265f56..1d8a8fb545f784e62b381b70120b3baa770ff423 100644 (file)
@@ -28,9 +28,9 @@ import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.apache.poi.xssf.XSSFTestDataSamples;
 
 public final class TestXSSFBugs extends BaseTestBugzillaIssues {
-    @Override
-    protected XSSFITestDataProvider getTestDataProvider(){
-        return XSSFITestDataProvider.getInstance();
+
+    public TestXSSFBugs() {
+        super(XSSFITestDataProvider.instance);
     }
 
     /**
@@ -46,7 +46,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
      *  the wrong sheet name
      */
     public void test45430() {
-        XSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("45430.xlsx");
+        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("45430.xlsx");
         assertFalse(wb.isMacroEnabled());
         assertEquals(3, wb.getNumberOfNames());
 
@@ -75,7 +75,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
      * We should carry vba macros over after save
      */
     public void test45431() throws Exception {
-        XSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("45431.xlsm");
+        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("45431.xlsm");
         OPCPackage pkg = wb.getPackage();
         assertTrue(wb.isMacroEnabled());
 
@@ -119,8 +119,9 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
         );
         assertNotNull(drw);
     }
+
     public void test47504() {
-        XSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("47504.xlsx");
+        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47504.xlsx");
         assertEquals(1, wb.getNumberOfSheets());
         XSSFSheet sh = wb.getSheetAt(0);
         XSSFDrawing drawing = sh.createDrawingPatriarch();
@@ -136,7 +137,5 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
         rels = drawing.getRelations();
         assertEquals(1, rels.size());
         assertEquals("Sheet1!A1", rels.get(0).getPackageRelationship().getTargetURI().getFragment());
-
     }
-
 }
index 256bb7bd07a7a4270fdc22a91ce2f0b0ac2f0094..bd7319e5f3a8c2a9c398b000644908c2d4baf8ae 100644 (file)
@@ -28,9 +28,9 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell;
  */
 public final class TestXSSFCell extends BaseTestCell {
 
-       public TestXSSFCell() {
-               super(XSSFITestDataProvider.getInstance());
-       }
+    public TestXSSFCell() {
+        super(XSSFITestDataProvider.instance);
+    }
 
     /**
      * Bug 47026: trouble changing cell type when workbook doesn't contain
@@ -166,7 +166,7 @@ public final class TestXSSFCell extends BaseTestCell {
         //make sure we return null for that instead of throwing OutOfBounds
         assertEquals(null, cell.getCellStyle());
     }
-    
+
     /**
      * Cell with the formula that returns error must return error code(There was
      * an problem that cell could not return error value form formula cell).
index 5ecb187547c98ae2ba910c4aee8ae12aa0f4255e..e31bbed41f275d7f87d73c9e428dd488f27be685 100644 (file)
 
 package org.apache.poi.xssf.usermodel;
 
-import org.apache.poi.ss.usermodel.BaseTestSheet;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Workbook;
+import junit.framework.TestCase;
+
 import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.apache.poi.xssf.model.CommentsTable;
-import org.apache.poi.xssf.model.StylesTable;
-import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPane;
-
 
-public class TestXSSFChartSheet extends BaseTestSheet {
-
-    @Override
-    protected XSSFITestDataProvider getTestDataProvider() {
-        return XSSFITestDataProvider.getInstance();
-    }
+public final class TestXSSFChartSheet extends TestCase {
 
     public void testXSSFFactory() {
         XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("chart_sheet.xlsx");
@@ -57,6 +38,7 @@ public class TestXSSFChartSheet extends BaseTestSheet {
     public void testGetAccessors() {
         XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("chart_sheet.xlsx");
         XSSFChartSheet sheet = (XSSFChartSheet)wb.getSheetAt(2);
+
         for(Row row : sheet) {
             fail("Row iterator for chart sheets should return zero rows");
         }
@@ -73,12 +55,4 @@ public class TestXSSFChartSheet extends BaseTestSheet {
         assertEquals(0, sheet.getColumnBreaks().length);
         assertEquals(true, sheet.getRowSumsBelow());
     }
-
-    /**
-     * YK: disable failing test from the superclass 
-     */
-    @Override
-    public void testDefaultColumnStyle() {
-
-    }
-}
\ No newline at end of file
+}
index 34edb48f3fe308cda6e1768af8cac90a9dbf2330..1d352f27fa98715039a520765060ba16d37bb3cc 100644 (file)
 package org.apache.poi.xssf.usermodel;
 
 import org.apache.poi.hssf.usermodel.HSSFRichTextString;
-import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.usermodel.BaseTestCellComment;
+import org.apache.poi.ss.usermodel.IndexedColors;
 import org.apache.poi.ss.util.CellReference;
-import org.apache.poi.xssf.model.CommentsTable;
-import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.apache.poi.POIXMLDocumentPart;
+import org.apache.poi.xssf.model.CommentsTable;
 import org.apache.xmlbeans.XmlObject;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
-
-import junit.framework.TestCase;
-import junit.framework.AssertionFailedError;
-
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.List;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRPrElt;
 
 import schemasMicrosoftComVml.CTShape;
 
-
-public class TestXSSFComment extends BaseTestCellComment  {
+/**
+ * @author Yegor Kozlov
+ */
+public final class TestXSSFComment extends BaseTestCellComment  {
 
     private static final String TEST_RICHTEXTSTRING = "test richtextstring";
 
-    @Override
-    protected XSSFITestDataProvider getTestDataProvider(){
-        return XSSFITestDataProvider.getInstance();
-    }
-
-    /**
-     * test that we can read cell comments from an existing workbook.
-     */
-    public void testReadComments() {
-        readComments("SimpleWithComments.xlsx");
-    }
-
-    /**
-     * test that we can modify existing cell comments
-     */
-    public void testModifyComments() throws IOException {
-        modifyComments("SimpleWithComments.xlsx");
-    }
-
-    public void testDeleteComments() throws Exception {
-        deleteComments("SimpleWithComments.xlsx");
+    public TestXSSFComment() {
+        super(XSSFITestDataProvider.instance);
     }
 
     /**
@@ -132,7 +107,7 @@ public class TestXSSFComment extends BaseTestCellComment  {
             comment.setString(new HSSFRichTextString(TEST_RICHTEXTSTRING));
             fail("expected exception");
         } catch (IllegalArgumentException e){
-            ;
+            assertEquals("Only XSSFRichTextString argument is supported", e.getMessage());
         }
 
         //simple string argument
@@ -189,6 +164,4 @@ public class TestXSSFComment extends BaseTestCellComment  {
         assertEquals("", comment.getAuthor());
         assertEquals(2, sheetComments.getNumberOfAuthors());
     }
-
-   
 }
index 6596edaf5a25b4bbfa6070a4a2dc71a4681426d2..963d0df2d23897fe184515c77003290308f429ae 100644 (file)
 
 package org.apache.poi.xssf.usermodel;
 
-import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.usermodel.BaseTestDataFormat;
 import org.apache.poi.xssf.XSSFITestDataProvider;
 
 /**
  * Tests for {@link XSSFDataFormat}
- *
  */
 public final class TestXSSFDataFormat extends BaseTestDataFormat {
 
-       @Override
-       protected ITestDataProvider getTestDataProvider() {
-               return XSSFITestDataProvider.getInstance();
-       }
-
-       /**
-        * Test setting and getting boolean values.
-        */
-       public void testBuiltinFormats() {
-               baseBuiltinFormats();
+       public TestXSSFDataFormat() {
+               super(XSSFITestDataProvider.instance);
        }
 }
index 288ffca69caf1fd594b83a8ad221c2b5127c1cbd..1bcc98149e9add8ef781dd89bfb1ad4ba2c90ede 100644 (file)
@@ -34,9 +34,8 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignRun;
 
 public final class TestXSSFFont extends BaseTestFont{
 
-       @Override
-       protected XSSFITestDataProvider getTestDataProvider() {
-               return XSSFITestDataProvider.getInstance();
+       public TestXSSFFont() {
+               super(XSSFITestDataProvider.instance);
        }
 
        public void testDefaultFont() {
index 7c0d01b3a35ae94d50eb170005422cd5cccd307e..6e226e331b0d85cc51156a1a2b259c1ed829cff9 100644 (file)
@@ -26,9 +26,8 @@ import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.apache.poi.xssf.XSSFTestDataSamples;
 
 public final class TestXSSFHyperlink extends BaseTestHyperlink {
-       @Override
-       protected XSSFITestDataProvider getTestDataProvider() {
-               return XSSFITestDataProvider.getInstance();
+       public TestXSSFHyperlink() {
+               super(XSSFITestDataProvider.instance);
        }
 
        @Override
@@ -123,7 +122,7 @@ public final class TestXSSFHyperlink extends BaseTestHyperlink {
        /**
         * Only for WithMoreVariousData.xlsx !
         */
-       private void doTestHyperlinkContents(XSSFSheet sheet) {
+       private static void doTestHyperlinkContents(XSSFSheet sheet) {
                assertNotNull(sheet.getRow(3).getCell(2).getHyperlink());
                assertNotNull(sheet.getRow(14).getCell(2).getHyperlink());
                assertNotNull(sheet.getRow(15).getCell(2).getHyperlink());
index 230dc50af5078b254527640f6658fd0618eea9be..1c640b4177c2f3407d44ae2222f0c5719e108fae 100644 (file)
@@ -26,16 +26,15 @@ import org.apache.poi.ss.usermodel.BaseTestNamedRange;
  */
 public final class TestXSSFName extends BaseTestNamedRange {
 
-    @Override
-    protected XSSFITestDataProvider getTestDataProvider(){
-        return XSSFITestDataProvider.getInstance();
+    public TestXSSFName() {
+        super(XSSFITestDataProvider.instance);
     }
 
     //TODO combine testRepeatingRowsAndColums() for HSSF and XSSF
     public void testRepeatingRowsAndColums() {
         // First test that setting RR&C for same sheet more than once only creates a
         // single  Print_Titles built-in record
-        XSSFWorkbook wb = getTestDataProvider().createWorkbook();
+        XSSFWorkbook wb = new XSSFWorkbook();
         wb.createSheet("First Sheet");
 
         wb.setRepeatingRowsAndColumns(0, -1, -1, -1, -1);
index 2437767bf1b3b46e966350f75c2c35e87186e393..aea0bca8ed0182f2ac6b56d9786486a6628d2557 100644 (file)
@@ -31,9 +31,8 @@ import java.util.Arrays;
  */
 public final class TestXSSFPicture extends BaseTestPicture {
 
-    @Override
-    protected XSSFITestDataProvider getTestDataProvider(){
-        return XSSFITestDataProvider.getInstance();
+    public TestXSSFPicture() {
+        super(XSSFITestDataProvider.instance);
     }
 
     public void testResize() {
index 5ac850e6aa7e877e7d1a4fc600f575e4505a342b..81f9ce81196a820b637891fdd8d8ec85fe1842db 100644 (file)
@@ -26,9 +26,8 @@ import org.apache.poi.xssf.XSSFITestDataProvider;
  */
 public final class TestXSSFRow extends BaseTestRow {
 
-    @Override
-    protected XSSFITestDataProvider getTestDataProvider(){
-        return XSSFITestDataProvider.getInstance();
+    public TestXSSFRow() {
+        super(XSSFITestDataProvider.instance);
     }
 
     public void testRowBounds() {
index ab9bb8fce09477d56222a58467ce16500d9a3b63..33c5eee1d9a83d49a54cf315641d051ad18f00e9 100644 (file)
@@ -33,11 +33,10 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPane;
 
 
-public class TestXSSFSheet extends BaseTestSheet {
+public final class TestXSSFSheet extends BaseTestSheet {
 
-    @Override
-    protected XSSFITestDataProvider getTestDataProvider() {
-        return XSSFITestDataProvider.getInstance();
+    public TestXSSFSheet() {
+        super(XSSFITestDataProvider.instance);
     }
 
     //TODO column styles are not yet supported by XSSF
@@ -106,7 +105,7 @@ public class TestXSSFSheet extends BaseTestSheet {
     }
 
     public void testGetAllHeadersFooters() {
-        XSSFWorkbook workbook = getTestDataProvider().createWorkbook();
+        XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet("Sheet 1");
         assertNotNull(sheet.getOddFooter());
         assertNotNull(sheet.getEvenFooter());
@@ -780,7 +779,7 @@ public class TestXSSFSheet extends BaseTestSheet {
         }
 
         //serialize and check again
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
         cols = sheet.getCTWorksheet().getColsArray(0);
         assertEquals(5, cols.sizeOfColArray());
@@ -850,7 +849,7 @@ public class TestXSSFSheet extends BaseTestSheet {
         assertEquals(7, col.getMax());
 
         //serialize and check again
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
         assertTrue(sheet.isColumnHidden(2));
         assertTrue(sheet.isColumnHidden(6));
index c8e535744450ec254ea06432c1e449500800b340..b703c48cd006d677690ef33c5f811db6bcbe63a0 100644 (file)
@@ -35,7 +35,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellFormulaType;
 public final class TestXSSFSheetUpdateArrayFormulas extends BaseTestSheetUpdateArrayFormulas {
 
     public TestXSSFSheetUpdateArrayFormulas() {
-        super(XSSFITestDataProvider.getInstance());
+        super(XSSFITestDataProvider.instance);
     }
 
     // Test methods common with HSSF are in superclass
index b25cd26c9cec02355e4f17256384309a6f124109..5ec6257d7c7a87b105ab9ed81eaee85e9e143631 100644 (file)
@@ -36,12 +36,10 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr;
 
 public final class TestXSSFWorkbook extends BaseTestWorkbook {
 
-       @Override
-       protected XSSFITestDataProvider getTestDataProvider(){
-               return XSSFITestDataProvider.getInstance();
+       public TestXSSFWorkbook() {
+               super(XSSFITestDataProvider.instance);
        }
 
-
        /**
         * Tests that we can save, and then re-load a new document
         */
@@ -232,14 +230,14 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
        }
 
        public void testIncrementSheetId() {
-               XSSFWorkbook wb = getTestDataProvider().createWorkbook();
+               XSSFWorkbook wb = new XSSFWorkbook();
                int sheetId = (int)wb.createSheet().sheet.getSheetId();
                assertEquals(1, sheetId);
                sheetId = (int)wb.createSheet().sheet.getSheetId();
                assertEquals(2, sheetId);
 
                //test file with gaps in the sheetId sequence
-               wb = getTestDataProvider().openSampleWorkbook("47089.xlsm");
+               wb = XSSFTestDataSamples.openSampleWorkbook("47089.xlsm");
                int lastSheetId = (int)wb.getSheetAt(wb.getNumberOfSheets() - 1).sheet.getSheetId();
                sheetId = (int)wb.createSheet().sheet.getSheetId();
                assertEquals(lastSheetId+1, sheetId);
@@ -305,55 +303,55 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
                assertEquals(crc0.getValue(), crc1.getValue());
        }
 
-    /**
-     * When deleting a sheet make sure that we adjust sheet indices of named ranges
-     */
-    public void testBug47737() {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47737.xlsx");
-        assertEquals(2, wb.getNumberOfNames());
-        assertNotNull(wb.getCalculationChain());
-
-        XSSFName nm0 = wb.getNameAt(0);
-        assertTrue(nm0.getCTName().isSetLocalSheetId());
-        assertEquals(0, nm0.getCTName().getLocalSheetId());
-        
-        XSSFName nm1 = wb.getNameAt(1);
-        assertTrue(nm1.getCTName().isSetLocalSheetId());
-        assertEquals(1, nm1.getCTName().getLocalSheetId());
-
-        wb.removeSheetAt(0);
-        assertEquals(1, wb.getNumberOfNames());
-        XSSFName nm2 = wb.getNameAt(0);
-        assertTrue(nm2.getCTName().isSetLocalSheetId());
-        assertEquals(0, nm2.getCTName().getLocalSheetId());
-        //calculation chain is removed as well
-        assertNull(wb.getCalculationChain());
-
-    }
-
-    /**
-     * Problems with XSSFWorkbook.removeSheetAt when workbook contains chart
-     */
-    public void testBug47813() {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47813.xlsx");
-        assertEquals(3, wb.getNumberOfSheets());
-        assertNotNull(wb.getCalculationChain());
-
-        assertEquals("Numbers", wb.getSheetName(0));
-        //the second sheet is of type 'chartsheet'
-        assertEquals("Chart", wb.getSheetName(1));
-        assertTrue(wb.getSheetAt(1) instanceof XSSFChartSheet);
-        assertEquals("SomeJunk", wb.getSheetName(2));
-
-        wb.removeSheetAt(2);
-        assertEquals(2, wb.getNumberOfSheets());
-        assertNull(wb.getCalculationChain());
-
-        wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
-        assertEquals(2, wb.getNumberOfSheets());
-        assertNull(wb.getCalculationChain());
-
-        assertEquals("Numbers", wb.getSheetName(0));
-        assertEquals("Chart", wb.getSheetName(1));
-    }
+       /**
+        * When deleting a sheet make sure that we adjust sheet indices of named ranges
+        */
+       public void testBug47737() {
+               XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47737.xlsx");
+               assertEquals(2, wb.getNumberOfNames());
+               assertNotNull(wb.getCalculationChain());
+
+               XSSFName nm0 = wb.getNameAt(0);
+               assertTrue(nm0.getCTName().isSetLocalSheetId());
+               assertEquals(0, nm0.getCTName().getLocalSheetId());
+
+               XSSFName nm1 = wb.getNameAt(1);
+               assertTrue(nm1.getCTName().isSetLocalSheetId());
+               assertEquals(1, nm1.getCTName().getLocalSheetId());
+
+               wb.removeSheetAt(0);
+               assertEquals(1, wb.getNumberOfNames());
+               XSSFName nm2 = wb.getNameAt(0);
+               assertTrue(nm2.getCTName().isSetLocalSheetId());
+               assertEquals(0, nm2.getCTName().getLocalSheetId());
+               //calculation chain is removed as well
+               assertNull(wb.getCalculationChain());
+
+       }
+
+       /**
+        * Problems with XSSFWorkbook.removeSheetAt when workbook contains chart
+        */
+       public void testBug47813() {
+               XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47813.xlsx");
+               assertEquals(3, wb.getNumberOfSheets());
+               assertNotNull(wb.getCalculationChain());
+
+               assertEquals("Numbers", wb.getSheetName(0));
+               //the second sheet is of type 'chartsheet'
+               assertEquals("Chart", wb.getSheetName(1));
+               assertTrue(wb.getSheetAt(1) instanceof XSSFChartSheet);
+               assertEquals("SomeJunk", wb.getSheetName(2));
+
+               wb.removeSheetAt(2);
+               assertEquals(2, wb.getNumberOfSheets());
+               assertNull(wb.getCalculationChain());
+
+               wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
+               assertEquals(2, wb.getNumberOfSheets());
+               assertNull(wb.getCalculationChain());
+
+               assertEquals("Numbers", wb.getSheetName(0));
+               assertEquals("Chart", wb.getSheetName(1));
+       }
 }
index b4d1b9d86e0de8545c93a4a16530bddaa76ff924..668b73b9d61b8aaa35c73be8df6fb2dda3c9a416 100644 (file)
@@ -32,9 +32,6 @@ public final class HSSFITestDataProvider implements ITestDataProvider {
     private HSSFITestDataProvider(){
         // enforce singleton
     }
-    public static HSSFITestDataProvider getInstance(){
-        return instance;
-    }
     public HSSFWorkbook openSampleWorkbook(String sampleFileName) {
         return HSSFTestDataSamples.openSampleWorkbook(sampleFileName);
     }
index 1a1253e34369d8994803b4d82271627587390fd5..12097aa3c7993142c98912cd4c2cc9230b15abcf 100644 (file)
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
+
 package org.apache.poi.hssf.eventmodel;
 
 import java.io.ByteArrayInputStream;
+import java.io.IOException;
 
 import junit.framework.TestCase;
 
@@ -29,69 +31,77 @@ import org.apache.poi.hssf.record.EOFRecord;
 import org.apache.poi.hssf.record.Record;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 
-public class TestAbortableListener extends TestCase {
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
-    }
-    
+/**
+ * Tests for {@link AbortableHSSFListener}
+ */
+public final class TestAbortableListener extends TestCase {
+
+       private POIFSFileSystem openSample() {
+               ByteArrayInputStream is = new ByteArrayInputStream(HSSFITestDataProvider.instance
+                               .getTestDataFileContent("SimpleWithColours.xls"));
+               try {
+                       return new POIFSFileSystem(is);
+               } catch (IOException e) {
+                       throw new RuntimeException(e);
+               }
+       }
+
        public void testAbortingBasics() throws Exception {
                AbortableCountingListener l = new AbortableCountingListener(1000);
-               
+
                HSSFRequest req = new HSSFRequest();
                req.addListenerForAllRecords(l);
-               
+
                HSSFEventFactory f = new HSSFEventFactory();
-               
-               assertEquals(0, l.seen);
-               assertEquals(null, l.lastseen);
-               
-               POIFSFileSystem fs = new POIFSFileSystem(new ByteArrayInputStream(
-                               getTestDataProvider().getTestDataFileContent("SimpleWithColours.xls")
-               ));
+
+               assertEquals(0, l.countSeen);
+               assertEquals(null, l.lastRecordSeen);
+
+               POIFSFileSystem fs = openSample();
                short res = f.abortableProcessWorkbookEvents(req, fs);
-               
+
                assertEquals(0, res);
-               assertEquals(175, l.seen);
-               assertEquals(EOFRecord.sid, l.lastseen.getSid());
+               assertEquals(175, l.countSeen);
+               assertEquals(EOFRecord.sid, l.lastRecordSeen.getSid());
        }
-       
+
+
        public void testAbortStops() throws Exception {
                AbortableCountingListener l = new AbortableCountingListener(1);
-               
+
                HSSFRequest req = new HSSFRequest();
                req.addListenerForAllRecords(l);
-               
+
                HSSFEventFactory f = new HSSFEventFactory();
-               
-               assertEquals(0, l.seen);
-               assertEquals(null, l.lastseen);
-               
-               POIFSFileSystem fs = new POIFSFileSystem(new ByteArrayInputStream(
-                               getTestDataProvider().getTestDataFileContent("SimpleWithColours.xls")
-               ));
+
+               assertEquals(0, l.countSeen);
+               assertEquals(null, l.lastRecordSeen);
+
+               POIFSFileSystem fs = openSample();
                short res = f.abortableProcessWorkbookEvents(req, fs);
-               
+
                assertEquals(1234, res);
-               assertEquals(1, l.seen);
-               assertEquals(BOFRecord.sid, l.lastseen.getSid());
+               assertEquals(1, l.countSeen);
+               assertEquals(BOFRecord.sid, l.lastRecordSeen.getSid());
        }
-       
-       public static class AbortableCountingListener extends AbortableHSSFListener {
-               private int abortAfter;
-               private int seen;
-               private Record lastseen;
-               
+
+       private static final class AbortableCountingListener extends AbortableHSSFListener {
+               private int abortAfterIndex;
+               public int countSeen;
+               public Record lastRecordSeen;
+
                public AbortableCountingListener(int abortAfter) {
-                       this.abortAfter = abortAfter;
-                       this.seen = 0;
-                       this.lastseen = null;
+                       abortAfterIndex = abortAfter;
+                       countSeen = 0;
+                       lastRecordSeen = null;
                }
                public short abortableProcessRecord(Record record) {
-                       seen++;
-                       lastseen = record;
-                       
-                       if(seen == abortAfter)
+                       countSeen++;
+                       lastRecordSeen = record;
+
+                       if(countSeen == abortAfterIndex) {
                                return 1234;
+                       }
                        return 0;
                }
        }
index c0f639d41224275a91cb39972ad82070c2dd20a2..740cd8e59976b94881b041b4f27fbac31dc8ef47 100644 (file)
@@ -53,17 +53,16 @@ import org.apache.poi.util.TempFile;
  */
 public final class TestBugs extends BaseTestBugzillaIssues {
 
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestBugs() {
+        super(HSSFITestDataProvider.instance);
     }
 
-    private HSSFWorkbook openSample(String sampleFileName) {
-        return getTestDataProvider().openSampleWorkbook(sampleFileName);
+    private static HSSFWorkbook openSample(String sampleFileName) {
+        return HSSFITestDataProvider.instance.openSampleWorkbook(sampleFileName);
     }
 
-    private HSSFWorkbook writeOutAndReadBack(HSSFWorkbook original) {
-        return getTestDataProvider().writeOutAndReadBack(original);
+    private static HSSFWorkbook writeOutAndReadBack(HSSFWorkbook original) {
+        return HSSFITestDataProvider.instance.writeOutAndReadBack(original);
     }
 
     private static void writeTestOutputFileForViewing(HSSFWorkbook wb, String simpleFileName) {
@@ -1520,7 +1519,7 @@ public final class TestBugs extends BaseTestBugzillaIssues {
         assertEquals("test ", cell1.getStringCellValue().toString());
 
         HSSFCell cell2 = s.getRow(0).getCell(1);
-        assertEquals(1.0, cell2.getNumericCellValue());
+        assertEquals(1.0, cell2.getNumericCellValue(), 0.0);
     }
 
     /**
index da22747fc3266d64e0fa25cfd3cefea27b8639e0..77e95c622a12a5d424c8cd542a9d22afebca9721 100644 (file)
@@ -23,6 +23,7 @@ import java.util.GregorianCalendar;
 import junit.framework.AssertionFailedError;
 
 import org.apache.poi.hssf.HSSFITestDataProvider;
+import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.model.InternalSheet;
 import org.apache.poi.hssf.record.DBCellRecord;
 import org.apache.poi.hssf.record.FormulaRecord;
@@ -41,10 +42,8 @@ import org.apache.poi.ss.usermodel.ErrorConstants;
  */
 public final class TestHSSFCell extends BaseTestCell {
 
-       private static final HSSFITestDataProvider _hssfDP = HSSFITestDataProvider.getInstance();
-
        public TestHSSFCell() {
-               super(HSSFITestDataProvider.getInstance());
+               super(HSSFITestDataProvider.instance);
        }
        /**
         * Checks that the recognition of files using 1904 date windowing
@@ -56,7 +55,7 @@ public final class TestHSSFCell extends BaseTestCell {
                Date date = cal.getTime();
 
                // first check a file with 1900 Date Windowing
-               HSSFWorkbook workbook = _hssfDP.openSampleWorkbook("1900DateWindowing.xls");
+               HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("1900DateWindowing.xls");
                HSSFSheet sheet = workbook.getSheetAt(0);
 
                assertEquals("Date from file using 1900 Date Windowing",
@@ -64,7 +63,7 @@ public final class TestHSSFCell extends BaseTestCell {
                                sheet.getRow(0).getCell(0).getDateCellValue().getTime());
 
                // now check a file with 1904 Date Windowing
-               workbook = _hssfDP.openSampleWorkbook("1904DateWindowing.xls");
+               workbook = HSSFTestDataSamples.openSampleWorkbook("1904DateWindowing.xls");
                sheet   = workbook.getSheetAt(0);
 
                assertEquals("Date from file using 1904 Date Windowing",
@@ -86,19 +85,19 @@ public final class TestHSSFCell extends BaseTestCell {
 
                // first check a file with 1900 Date Windowing
                HSSFWorkbook wb;
-               wb = _hssfDP.openSampleWorkbook("1900DateWindowing.xls");
+               wb = HSSFTestDataSamples.openSampleWorkbook("1900DateWindowing.xls");
 
                setCell(wb, 0, 1, date);
-               wb = _hssfDP.writeOutAndReadBack(wb);
+               wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
 
                assertEquals("Date from file using 1900 Date Windowing",
                                date.getTime(),
                                readCell(wb, 0, 1).getTime());
 
                // now check a file with 1904 Date Windowing
-               wb = _hssfDP.openSampleWorkbook("1904DateWindowing.xls");
+               wb = HSSFTestDataSamples.openSampleWorkbook("1904DateWindowing.xls");
                setCell(wb, 0, 1, date);
-               wb = _hssfDP.writeOutAndReadBack(wb);
+               wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
                assertEquals("Date from file using 1900 Date Windowing",
                                date.getTime(),
                                readCell(wb, 0, 1).getTime());
@@ -127,7 +126,7 @@ public final class TestHSSFCell extends BaseTestCell {
         */
        public void testActiveCell() {
                //read in sample
-               HSSFWorkbook book = _hssfDP.openSampleWorkbook("Simple.xls");
+               HSSFWorkbook book = HSSFTestDataSamples.openSampleWorkbook("Simple.xls");
 
                //check initial position
                HSSFSheet umSheet = book.getSheetAt(0);
@@ -146,7 +145,7 @@ public final class TestHSSFCell extends BaseTestCell {
                        3, s.getActiveCellRow());
 
                //write book to temp file; read and verify that position is serialized
-               book = _hssfDP.writeOutAndReadBack(book);
+               book = HSSFTestDataSamples.writeOutAndReadBack(book);
 
                umSheet = book.getSheetAt(0);
                s = umSheet.getSheet();
@@ -162,7 +161,7 @@ public final class TestHSSFCell extends BaseTestCell {
         */
        public void testWithHyperlink() {
 
-               HSSFWorkbook wb = _hssfDP.openSampleWorkbook("WithHyperlink.xls");
+               HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("WithHyperlink.xls");
 
                HSSFSheet sheet = wb.getSheetAt(0);
                HSSFCell cell = sheet.getRow(4).getCell(0);
@@ -180,7 +179,7 @@ public final class TestHSSFCell extends BaseTestCell {
         */
        public void testWithTwoHyperlinks() {
 
-               HSSFWorkbook wb = _hssfDP.openSampleWorkbook("WithTwoHyperLinks.xls");
+               HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("WithTwoHyperLinks.xls");
 
                HSSFSheet sheet = wb.getSheetAt(0);
 
index 0130f9471d1075b72ec0378f89b004531c77377d..7d04110b12ebde51c2323b0b4d1b5e7a3c977110 100644 (file)
 ==================================================================== */
 package org.apache.poi.hssf.usermodel;
 
-import java.io.IOException;
-
-import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.HSSFITestDataProvider;
+import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.ss.usermodel.BaseTestCellComment;
 
 /**
@@ -29,39 +27,20 @@ import org.apache.poi.ss.usermodel.BaseTestCellComment;
  */
 public final class TestHSSFComment extends BaseTestCellComment {
 
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestHSSFComment() {
+        super(HSSFITestDataProvider.instance);
     }
 
-    public static void testDefaultShapeType() throws Exception {
+    public void testDefaultShapeType() {
         HSSFComment comment = new HSSFComment((HSSFShape)null, (HSSFAnchor)null);
         assertEquals(HSSFSimpleShape.OBJECT_TYPE_COMMENT, comment.getShapeType());
     }
 
-    /**
-     * test that we can read cell comments from an existing workbook.
-     */
-    public void testReadComments() {
-        readComments("SimpleWithComments.xls");
-    }
-
-    /**
-     * test that we can modify existing cell comments
-     */
-    public void testModifyComments() throws IOException {
-        modifyComments("SimpleWithComments.xls");
-    }
-
-    public void testDeleteComments() throws Exception {
-        deleteComments("SimpleWithComments.xls");
-    }
-
     /**
      *  HSSFCell#findCellComment should NOT rely on the order of records
      * when matching cells and their cell comments. The correct algorithm is to map
      */
-    public static void test47924() {
+    public void test47924() {
         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("47924.xls");
         HSSFSheet sheet = wb.getSheetAt(0);
         HSSFCell cell;
index 8bbbc06d506717109e05c16794b7ece3f65791a1..c04f162205aea7081215d72a72c5f27d1f648e13 100644 (file)
 package org.apache.poi.hssf.usermodel;
 
 import org.apache.poi.hssf.HSSFITestDataProvider;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.ss.ITestDataProvider;
+import org.apache.poi.ss.usermodel.BaseTestDataFormat;
 
 /**
  * Tests for {@link HSSFDataFormat}
- *
  */
 public final class TestHSSFDataFormat extends BaseTestDataFormat {
 
-    @Override
-    protected ITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
-    }
-       /**
-     * Test setting and getting boolean values.
-     */
-    public void testBuiltinFormats() {
-        baseBuiltinFormats();
+    public TestHSSFDataFormat() {
+        super(HSSFITestDataProvider.instance);
     }
 }
index 83506544946a18882b5c288a5da8fdef649bc2da..7f0aa7048ad55fc24b77289fd6cac35f4cf26828 100644 (file)
@@ -28,9 +28,8 @@ import org.apache.poi.ss.usermodel.Font;
  */
 public final class TestHSSFFont extends BaseTestFont {
 
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestHSSFFont() {
+        super(HSSFITestDataProvider.instance);
     }
 
     public void testDefaultFont() {
index f863dd980d8aa4af2d888bdec55a628bd01c6073..8a5d601369c8705a812bae1770faccf771814ac6 100644 (file)
@@ -28,16 +28,15 @@ import org.apache.poi.ss.usermodel.BaseTestHyperlink;
  */
 public final class TestHSSFHyperlink extends BaseTestHyperlink {
 
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestHSSFHyperlink() {
+        super(HSSFITestDataProvider.instance);
     }
     /**
      * Test that we can read hyperlinks.
      */
     public void testRead() {
 
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("HyperlinksOnManySheets.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("HyperlinksOnManySheets.xls");
 
         HSSFSheet sheet;
         HSSFCell cell;
@@ -77,7 +76,7 @@ public final class TestHSSFHyperlink extends BaseTestHyperlink {
     }
 
     public void testModify() {
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("HyperlinksOnManySheets.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("HyperlinksOnManySheets.xls");
 
         HSSFSheet sheet;
         HSSFCell cell;
@@ -89,7 +88,7 @@ public final class TestHSSFHyperlink extends BaseTestHyperlink {
         //modify the link
         link.setAddress("www.apache.org");
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
         sheet = wb.getSheet("WebLinks");
         cell = sheet.getRow(4).getCell(0);
         link = cell.getHyperlink();
@@ -106,7 +105,7 @@ public final class TestHSSFHyperlink extends BaseTestHyperlink {
      *  link.setAddress("'Target Sheet-1'!A1"); //common between XSSF and HSSF
      */
     public void testCreateDocumentLink() {
-        HSSFWorkbook wb = getTestDataProvider().createWorkbook();
+        HSSFWorkbook wb = new HSSFWorkbook();
 
         //link to a place in this workbook
         HSSFHyperlink link;
@@ -131,7 +130,7 @@ public final class TestHSSFHyperlink extends BaseTestHyperlink {
         link.setAddress("'Hyperlinks'!A1");
         cell.setHyperlink(link);
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
         sheet = wb.getSheet("Hyperlinks");
 
         cell = sheet.getRow(0).getCell(0);
@@ -167,7 +166,7 @@ public final class TestHSSFHyperlink extends BaseTestHyperlink {
     }
 
     public void testCreate() {
-        HSSFWorkbook wb = getTestDataProvider().createWorkbook();
+        HSSFWorkbook wb = new HSSFWorkbook();
 
         HSSFHyperlink link;
         HSSFCell cell;
@@ -179,7 +178,7 @@ public final class TestHSSFHyperlink extends BaseTestHyperlink {
         link.setAddress("testfolder\\test.PDF");
         cell.setHyperlink(link);
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
         sheet = wb.getSheet("Hyperlinks");
 
         cell = sheet.getRow(1).getCell(0);
@@ -193,7 +192,7 @@ public final class TestHSSFHyperlink extends BaseTestHyperlink {
      * see bugs #46445 and #29957
      */
     public void testShiftRows(){
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("46445.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("46445.xls");
 
 
         HSSFSheet sheet = wb.getSheetAt(0);
index 88a2c0cf16953939ccb1b9ac61de3ff070b016fe..6d45cde4f04a8ed746a104a3be9c06ce85fbccc9 100644 (file)
@@ -45,7 +45,7 @@ public final class TestHSSFName extends BaseTestNamedRange {
      * For manipulating the internals of {@link HSSFName} during testing.<br/>
      * Some tests need a {@link NameRecord} with unusual state, not normally producible by POI.
      * This method achieves the aims at low cost without augmenting the POI usermodel api.
-     * @return a reference to the wrapped {@link NameRecord} 
+     * @return a reference to the wrapped {@link NameRecord}
      */
     public static NameRecord getNameRecord(HSSFName definedName) {
 
@@ -63,11 +63,10 @@ public final class TestHSSFName extends BaseTestNamedRange {
         } catch (IllegalAccessException e) {
             throw new RuntimeException(e);
         }
-        }
+    }
 
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestHSSFName() {
+        super(HSSFITestDataProvider.instance);
     }
 
     public void testRepeatingRowsAndColumsNames() {
@@ -128,7 +127,7 @@ public final class TestHSSFName extends BaseTestNamedRange {
      }
 
     public void testNamedRange() {
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("Simple.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("Simple.xls");
 
         //Creating new Named Range
         HSSFName newNamedRange = wb.createName();
@@ -162,7 +161,7 @@ public final class TestHSSFName extends BaseTestNamedRange {
      * Addresses Bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9632" target="_bug">#9632</a>
      */
     public void testNamedRead() {
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("namedinput.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("namedinput.xls");
 
         //Get index of the named range with the name = "NamedRangeName" , which was defined in input.xls as A1:D10
         int NamedRangeIndex     = wb.getNameIndex("NamedRangeName");
@@ -188,7 +187,7 @@ public final class TestHSSFName extends BaseTestNamedRange {
      * Addresses Bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16411" target="_bug">#16411</a>
      */
     public void testNamedReadModify() {
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("namedinput.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("namedinput.xls");
 
         HSSFName name = wb.getNameAt(0);
         String sheetName = wb.getSheetName(0);
@@ -206,7 +205,7 @@ public final class TestHSSFName extends BaseTestNamedRange {
       * Test to see if the print area can be retrieved from an excel created file
       */
      public void testPrintAreaFileRead() {
-         HSSFWorkbook workbook = getTestDataProvider().openSampleWorkbook("SimpleWithPrintArea.xls");
+         HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("SimpleWithPrintArea.xls");
 
         String sheetName = workbook.getSheetName(0);
         String reference = sheetName+"!$A$1:$C$5";
@@ -252,4 +251,4 @@ public final class TestHSSFName extends BaseTestNamedRange {
         }
 
     }
-}
\ No newline at end of file
+}
index 8f39857694bee887f750587d3c397aad7330ec47..9e51917a5f86a7e4a1fafa686628f118afb4556f 100644 (file)
@@ -28,9 +28,8 @@ import org.apache.poi.ss.usermodel.BaseTestPicture;
  */
 public final class TestHSSFPicture extends BaseTestPicture {
 
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestHSSFPicture() {
+        super(HSSFITestDataProvider.instance);
     }
 
     public void testResize() {
index 31173bba2a525c93a8e22ef10d64bfdd742ca216..55ee03704200e281c0bc376f8993229a84546a6d 100644 (file)
@@ -32,9 +32,8 @@ import org.apache.poi.ss.SpreadsheetVersion;
  */
 public final class TestHSSFRow extends BaseTestRow {
 
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestHSSFRow() {
+        super(HSSFITestDataProvider.instance);
     }
 
     public void testRowBounds() {
@@ -56,7 +55,7 @@ public final class TestHSSFRow extends BaseTestRow {
 
         BlankRecord br = new BlankRecord();
         br.setRow(ROW_IX);
-               br.setColumn((short)COL_IX);
+        br.setColumn((short)COL_IX);
 
         sheet.getSheet().addValueRecord(ROW_IX, br);
         HSSFRow row = new HSSFRow(workbook, sheet, rowRec);
index 1dc6e1ac18dd931526445b7464d23e605376177d..09fdc73b8e554ade74813044092cb99a21a35385 100644 (file)
@@ -20,7 +20,6 @@ package org.apache.poi.hssf.usermodel;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
-import java.util.Arrays;
 
 import junit.framework.AssertionFailedError;
 
@@ -43,9 +42,6 @@ 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.usermodel.BaseTestSheet;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.ss.util.CellRangeAddressList;
 import org.apache.poi.util.TempFile;
@@ -59,9 +55,8 @@ import org.apache.poi.util.TempFile;
  */
 public final class TestHSSFSheet extends BaseTestSheet {
 
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestHSSFSheet() {
+        super(HSSFITestDataProvider.instance);
     }
 
     public void testTestGetSetMargin() {
@@ -161,7 +156,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
      * Setting landscape and portrait stuff on existing sheets
      */
     public void testPrintSetupLandscapeExisting() {
-        HSSFWorkbook workbook = getTestDataProvider().openSampleWorkbook("SimpleWithPageBreaks.xls");
+        HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("SimpleWithPageBreaks.xls");
 
         assertEquals(3, workbook.getNumberOfSheets());
 
@@ -242,7 +237,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
     }
 
     public void testGroupRowsExisting() {
-        HSSFWorkbook workbook = getTestDataProvider().openSampleWorkbook("NoGutsRecords.xls");
+        HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("NoGutsRecords.xls");
 
         HSSFSheet s = workbook.getSheetAt(0);
         HSSFRow r1 = s.getRow(0);
@@ -293,8 +288,8 @@ public final class TestHSSFSheet extends BaseTestSheet {
     }
 
     public void testGetDrawings() {
-        HSSFWorkbook wb1c = getTestDataProvider().openSampleWorkbook("WithChart.xls");
-        HSSFWorkbook wb2c = getTestDataProvider().openSampleWorkbook("WithTwoCharts.xls");
+        HSSFWorkbook wb1c = HSSFTestDataSamples.openSampleWorkbook("WithChart.xls");
+        HSSFWorkbook wb2c = HSSFTestDataSamples.openSampleWorkbook("WithTwoCharts.xls");
 
         // 1 chart sheet -> data on 1st, chart on 2nd
         assertNotNull(wb1c.getSheetAt(0).getDrawingPatriarch());
@@ -438,7 +433,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
      *
      */
     public void testPageBreakFiles() {
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("SimpleWithPageBreaks.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleWithPageBreaks.xls");
 
         HSSFSheet sheet = wb.getSheetAt(0);
         assertNotNull(sheet);
@@ -466,7 +461,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
     }
 
     public void testDBCSName () {
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("DBCSSheetName.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("DBCSSheetName.xls");
         wb.getSheetAt(1);
         assertEquals ("DBCS Sheet Name 2", wb.getSheetName(1),"\u090f\u0915" );
         assertEquals("DBCS Sheet Name 1", wb.getSheetName(0),"\u091c\u093e");
@@ -478,7 +473,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
      * of the sheet when it is first opened.
      */
     public void testTopRow() {
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("SimpleWithPageBreaks.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleWithPageBreaks.xls");
 
         HSSFSheet sheet = wb.getSheetAt(0);
         assertNotNull(sheet);
@@ -519,7 +514,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
         workbook = HSSFTestDataSamples.writeOutAndReadBack(workbook);
 
         //try adding empty rows in an existing worksheet
-        workbook = getTestDataProvider().openSampleWorkbook("Simple.xls");
+        workbook = HSSFTestDataSamples.openSampleWorkbook("Simple.xls");
 
         sheet = workbook.getSheetAt(0);
         for (int i = 3; i < 10; i++) sheet.createRow(i);
@@ -528,7 +523,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
     }
 
     public void testAutoSizeColumn() {
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("43902.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("43902.xls");
         String sheetName = "my sheet";
         HSSFSheet sheet = wb.getSheet(sheetName);
 
@@ -572,7 +567,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
      * Setting ForceFormulaRecalculation on sheets
      */
     public void testForceRecalculation() throws Exception {
-        HSSFWorkbook workbook = getTestDataProvider().openSampleWorkbook("UncalcedRecord.xls");
+        HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("UncalcedRecord.xls");
 
         HSSFSheet sheet = workbook.getSheetAt(0);
         HSSFSheet sheet2 = workbook.getSheetAt(0);
@@ -640,7 +635,7 @@ public final class TestHSSFSheet extends BaseTestSheet {
 
     public void testColumnWidth() {
         //check we can correctly read column widths from a reference workbook
-        HSSFWorkbook wb = getTestDataProvider().openSampleWorkbook("colwidth.xls");
+        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("colwidth.xls");
 
         //reference values
         int[] ref = {365, 548, 731, 914, 1097, 1280, 1462, 1645, 1828, 2011, 2194, 2377, 2560, 2742, 2925, 3108, 3291, 3474, 3657};
index 625ffdb69439e3a1d04cf5347b0dc102da170479..eff7157eb6e375472503fec720877dc1583dcb6d 100644 (file)
@@ -40,7 +40,7 @@ import org.apache.poi.ss.util.CellRangeAddress;
 public final class TestHSSFSheetUpdateArrayFormulas extends BaseTestSheetUpdateArrayFormulas {
 
     public TestHSSFSheetUpdateArrayFormulas() {
-        super(HSSFITestDataProvider.getInstance());
+        super(HSSFITestDataProvider.instance);
     }
 
     // Test methods common with XSSF are in superclass
index 43fc595ff2cf45440d0c2f28091dddb869c70bb9..6493eef47f589729e9f645aac0bbd8c84d3b9d4b 100644 (file)
@@ -44,16 +44,15 @@ import org.apache.poi.hpsf.ClassID;
  * Tests for {@link HSSFWorkbook}
  */
 public final class TestHSSFWorkbook extends BaseTestWorkbook {
-    @Override
-    protected HSSFITestDataProvider getTestDataProvider(){
-        return HSSFITestDataProvider.getInstance();
+    public TestHSSFWorkbook() {
+        super(HSSFITestDataProvider.instance);
     }
 
     /**
      * gives test code access to the {@link InternalWorkbook} within {@link HSSFWorkbook}
      */
     public static InternalWorkbook getInternalWorkbook(HSSFWorkbook wb) {
-       return wb.getWorkbook();
+        return wb.getWorkbook();
     }
 
     public void testSetRepeatingRowsAndColumns() {
@@ -81,28 +80,28 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
      * Tests for {@link HSSFWorkbook#isHidden()} etc
      */
     public void testHidden() {
-       HSSFWorkbook wb = new HSSFWorkbook();
+        HSSFWorkbook wb = new HSSFWorkbook();
 
-       WindowOneRecord w1 = wb.getWorkbook().getWindowOne();
+        WindowOneRecord w1 = wb.getWorkbook().getWindowOne();
 
-       assertEquals(false, wb.isHidden());
-       assertEquals(false, w1.getHidden());
+        assertEquals(false, wb.isHidden());
+        assertEquals(false, w1.getHidden());
 
-       wb.setHidden(true);
-       assertEquals(true, wb.isHidden());
-       assertEquals(true, w1.getHidden());
+        wb.setHidden(true);
+        assertEquals(true, wb.isHidden());
+        assertEquals(true, w1.getHidden());
 
-       wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-       w1 = wb.getWorkbook().getWindowOne();
+        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
+        w1 = wb.getWorkbook().getWindowOne();
 
-       wb.setHidden(true);
-       assertEquals(true, wb.isHidden());
-       assertEquals(true, w1.getHidden());
+        wb.setHidden(true);
+        assertEquals(true, wb.isHidden());
+        assertEquals(true, w1.getHidden());
 
-       wb.setHidden(false);
-       assertEquals(false, wb.isHidden());
-       assertEquals(false, w1.getHidden());
-       }
+        wb.setHidden(false);
+        assertEquals(false, wb.isHidden());
+        assertEquals(false, w1.getHidden());
+    }
 
     public void testSheetClone() {
         // First up, try a simple file
@@ -116,7 +115,7 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
         assertEquals(3, b.getNumberOfSheets());
 
         // Now try a problem one with drawing records in it
-        b = getTestDataProvider().openSampleWorkbook("SheetWithDrawing.xls");
+        b = HSSFTestDataSamples.openSampleWorkbook("SheetWithDrawing.xls");
         assertEquals(1, b.getNumberOfSheets());
         b.cloneSheet(0);
         assertEquals(2, b.getNumberOfSheets());
@@ -127,7 +126,7 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
         HSSFSheet s;
 
         // Single chart, two sheets
-        b = getTestDataProvider().openSampleWorkbook("44010-SingleChart.xls");
+        b = HSSFTestDataSamples.openSampleWorkbook("44010-SingleChart.xls");
         assertEquals(2, b.getNumberOfSheets());
         assertEquals("Graph2", b.getSheetName(1));
         s = b.getSheetAt(1);
@@ -143,9 +142,9 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
         // We've now called getDrawingPatriarch() so
         //  everything will be all screwy
         // So, start again
-        b = getTestDataProvider().openSampleWorkbook("44010-SingleChart.xls");
+        b = HSSFTestDataSamples.openSampleWorkbook("44010-SingleChart.xls");
 
-        b = getTestDataProvider().writeOutAndReadBack(b);
+        b = HSSFTestDataSamples.writeOutAndReadBack(b);
         assertEquals(2, b.getNumberOfSheets());
         s = b.getSheetAt(1);
         assertEquals(0, s.getFirstRowNum());
@@ -153,7 +152,7 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
 
 
         // Two charts, three sheets
-        b = getTestDataProvider().openSampleWorkbook("44010-TwoCharts.xls");
+        b = HSSFTestDataSamples.openSampleWorkbook("44010-TwoCharts.xls");
         assertEquals(3, b.getNumberOfSheets());
 
         s = b.getSheetAt(1);
@@ -173,9 +172,9 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
         // We've now called getDrawingPatriarch() so
         //  everything will be all screwy
         // So, start again
-        b = getTestDataProvider().openSampleWorkbook("44010-TwoCharts.xls");
+        b = HSSFTestDataSamples.openSampleWorkbook("44010-TwoCharts.xls");
 
-        b = getTestDataProvider().writeOutAndReadBack(b);
+        b = HSSFTestDataSamples.writeOutAndReadBack(b);
         assertEquals(3, b.getNumberOfSheets());
 
         s = b.getSheetAt(1);
@@ -375,7 +374,7 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
      *  that point to deleted sheets
      */
     public void testNamesToDeleteSheets() {
-        HSSFWorkbook b = getTestDataProvider().openSampleWorkbook("30978-deleted.xls");
+        HSSFWorkbook b = HSSFTestDataSamples.openSampleWorkbook("30978-deleted.xls");
         assertEquals(3, b.getNumberOfNames());
 
         // Sheet 2 is deleted
index b81be5b405c6e55e277685d3b1a6d1a54881b923..5636f918e3c0d579b5c34d689ea5db82f2733932 100644 (file)
@@ -18,6 +18,7 @@
 package org.apache.poi.ss.usermodel;
 
 import junit.framework.TestCase;
+
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.util.CellRangeAddress;
@@ -29,23 +30,26 @@ import org.apache.poi.ss.util.CellRangeAddress;
  */
 public abstract class BaseTestBugzillaIssues extends TestCase {
 
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
+
+    protected BaseTestBugzillaIssues(ITestDataProvider testDataProvider) {
+        _testDataProvider = testDataProvider;
+    }
 
     /**
-     *
      * Test writing a hyperlink
      * Open resulting sheet in Excel and check that A1 contains a hyperlink
      *
      * Also tests bug 15353 (problems with hyperlinks to Google)
      */
-    public void test23094() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void test23094() {
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet s = wb.createSheet();
         Row r = s.createRow(0);
         r.createCell(0).setCellFormula("HYPERLINK(\"http://jakarta.apache.org\",\"Jakarta\")");
         r.createCell(1).setCellFormula("HYPERLINK(\"http://google.com\",\"Google\")");
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         r = wb.getSheetAt(0).getRow(0);
 
         Cell cell_0 = r.getCell(0);
@@ -60,7 +64,7 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
      * @param  num the number of strings to generate
      */
     public void baseTest15375(int num) {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet();
         CreationHelper factory = wb.getCreationHelper();
 
@@ -82,7 +86,7 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
             cell = row.createCell(2);
             cell.setCellValue(factory.createRichTextString(tmp3));
         }
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         for (int i = 0; i < num; i++) {
             tmp1 = "Test1" + i;
             tmp2 = "Test2" + i;
@@ -99,8 +103,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
     /**
      * Merged regions were being removed from the parent in cloned sheets
      */
-    public void test22720() {
-       Workbook workBook = getTestDataProvider().createWorkbook();
+    public final void test22720() {
+       Workbook workBook = _testDataProvider.createWorkbook();
        workBook.createSheet("TEST");
        Sheet template = workBook.getSheetAt(0);
 
@@ -126,8 +130,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
 
     }
 
-    public void test28031() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void test28031() {
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet();
         wb.setSheetName(0, "Sheet1");
 
@@ -138,7 +142,7 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
         cell.setCellFormula(formulaText);
 
         assertEquals(formulaText, cell.getCellFormula());
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         cell = wb.getSheetAt(0).getRow(0).getCell(0);
         assertEquals("IF(ROUND(A2*B2*C2,2)>ROUND(B2*D2,2),ROUND(A2*B2*C2,2),ROUND(B2*D2,2))", cell.getCellFormula());
     }
@@ -148,24 +152,24 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
      * that contains macros and this formula:
      * {=SUM(IF(FREQUENCY(IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),""),IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),""))>0,1))}
      */
-    public void test21334() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void test21334() {
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sh = wb.createSheet();
         Cell cell = sh.createRow(0).createCell(0);
         String formula = "SUM(IF(FREQUENCY(IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),\"\"),IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),\"\"))>0,1))";
         cell.setCellFormula(formula);
 
-        Workbook wb_sv = getTestDataProvider().writeOutAndReadBack(wb);
+        Workbook wb_sv = _testDataProvider.writeOutAndReadBack(wb);
         Cell cell_sv = wb_sv.getSheetAt(0).getRow(0).getCell(0);
         assertEquals(formula, cell_sv.getCellFormula());
     }
 
     /** another test for the number of unique strings issue
      *test opening the resulting file in Excel*/
-    public void test22568() {
+    public final void test22568() {
         int r=2000;int c=3;
 
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet("ExcelTest") ;
 
         int col_cnt=0, rw_cnt=0 ;
@@ -191,7 +195,7 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
 
         sheet.setDefaultColumnWidth(18) ;
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
         rw = sheet.getRow(0);
         //Header row
@@ -211,21 +215,21 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
     /**
      * Bug 42448: Can't parse SUMPRODUCT(A!C7:A!C67, B8:B68) / B69
      */
-    public void test42448(){
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void test42448(){
+        Workbook wb = _testDataProvider.createWorkbook();
         Cell cell = wb.createSheet().createRow(0).createCell(0);
         cell.setCellFormula("SUMPRODUCT(A!C7:A!C67, B8:B68) / B69");
         assertTrue("no errors parsing formula", true);
     }
 
-    public void test18800() {
-       Workbook book = getTestDataProvider().createWorkbook();
+    public final void test18800() {
+       Workbook book = _testDataProvider.createWorkbook();
        book.createSheet("TEST");
        Sheet sheet = book.cloneSheet(0);
        book.setSheetName(1,"CLONE");
        sheet.createRow(0).createCell(0).setCellValue("Test");
 
-       book = getTestDataProvider().writeOutAndReadBack(book);
+       book = _testDataProvider.writeOutAndReadBack(book);
        sheet = book.getSheet("CLONE");
        Row row = sheet.getRow(0);
        Cell cell = row.getCell(0);
@@ -246,8 +250,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
         }
     }
 
-    public void testBug43093() {
-        Workbook xlw = getTestDataProvider().createWorkbook();
+    public final void testBug43093() {
+        Workbook xlw = _testDataProvider.createWorkbook();
 
         addNewSheetWithCellsA1toD4(xlw, 1);
         addNewSheetWithCellsA1toD4(xlw, 2);
@@ -265,11 +269,11 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
         assertEquals(d, (311+312+321+322), 0.0000001);
     }
 
-    public void testMaxFunctionArguments_bug46729(){
+    public final void testMaxFunctionArguments_bug46729(){
         String[] func = {"COUNT", "AVERAGE", "MAX", "MIN", "OR", "SUBTOTAL", "SKEW"};
 
-        SpreadsheetVersion ssVersion = getTestDataProvider().getSpreadsheetVersion();
-        Workbook wb = getTestDataProvider().createWorkbook();
+        SpreadsheetVersion ssVersion = _testDataProvider.getSpreadsheetVersion();
+        Workbook wb = _testDataProvider.createWorkbook();
         Cell cell = wb.createSheet().createRow(0).createCell(0);
 
         String fmla;
@@ -291,7 +295,7 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
         }
     }
 
-    private String createFunction(String name, int maxArgs){
+    private static String createFunction(String name, int maxArgs){
         StringBuffer fmla = new StringBuffer();
         fmla.append(name);
         fmla.append("(");
index f55767115d5fc34988f8092b922af7fe69368ca9..7289cef6351af939e339b7e5cc4a391befc58aba 100644 (file)
@@ -22,15 +22,19 @@ import junit.framework.TestCase;
 import org.apache.poi.ss.ITestDataProvider;
 
 /**
- * Common superclass for testing implementatiosn of
+ * Common superclass for testing implementations of
  * {@link Comment}
  */
 public abstract class BaseTestCellComment extends TestCase {
 
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
+
+    protected BaseTestCellComment(ITestDataProvider testDataProvider) {
+        _testDataProvider = testDataProvider;
+    }
 
     public final void testFind() {
-        Workbook book = getTestDataProvider().createWorkbook();
+        Workbook book = _testDataProvider.createWorkbook();
         Sheet sheet = book.createSheet();
         assertNull(sheet.getCellComment(0, 0));
 
@@ -40,14 +44,14 @@ public abstract class BaseTestCellComment extends TestCase {
         assertNull(cell.getCellComment());
     }
 
-    public final void testCreate() throws Exception {
+    public final void testCreate() {
         String cellText = "Hello, World";
         String commentText = "We can set comments in POI";
         String commentAuthor = "Apache Software Foundation";
         int cellRow = 3;
         int cellColumn = 1;
 
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         CreationHelper factory = wb.getCreationHelper();
 
         Sheet sheet = wb.createSheet();
@@ -81,7 +85,7 @@ public abstract class BaseTestCellComment extends TestCase {
         assertEquals(cellRow, comment.getRow());
         assertEquals(cellColumn, comment.getColumn());
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
         cell = sheet.getRow(cellRow).getCell(cellColumn);
         comment = cell.getCellComment();
@@ -97,7 +101,7 @@ public abstract class BaseTestCellComment extends TestCase {
         comment.setString(factory.createRichTextString("New Comment Text"));
         comment.setVisible(false);
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
 
         sheet = wb.getSheetAt(0);
         cell = sheet.getRow(cellRow).getCell(cellColumn);
@@ -114,9 +118,9 @@ public abstract class BaseTestCellComment extends TestCase {
     /**
      * test that we can read cell comments from an existing workbook.
      */
-    public void readComments(String sampleFile) {
+    public final void testReadComments() {
 
-        Workbook wb = getTestDataProvider().openSampleWorkbook(sampleFile);
+        Workbook wb = _testDataProvider.openSampleWorkbook("SimpleWithComments." + _testDataProvider.getStandardFileNameExtension());
 
         Sheet sheet = wb.getSheetAt(0);
 
@@ -150,9 +154,9 @@ public abstract class BaseTestCellComment extends TestCase {
     /**
      * test that we can modify existing cell comments
      */
-    public void modifyComments(String sampleFile) {
+    public final void testModifyComments() {
 
-        Workbook wb = getTestDataProvider().openSampleWorkbook(sampleFile);
+        Workbook wb = _testDataProvider.openSampleWorkbook("SimpleWithComments." + _testDataProvider.getStandardFileNameExtension());
         CreationHelper factory = wb.getCreationHelper();
 
         Sheet sheet = wb.getSheetAt(0);
@@ -169,7 +173,7 @@ public abstract class BaseTestCellComment extends TestCase {
             comment.setString(factory.createRichTextString("Modified comment at row " + rownum));
         }
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
 
         for (int rownum = 0; rownum < 3; rownum++) {
@@ -180,11 +184,10 @@ public abstract class BaseTestCellComment extends TestCase {
             assertEquals("Mofified[" + rownum + "] by Yegor", comment.getAuthor());
             assertEquals("Modified comment at row " + rownum, comment.getString().getString());
         }
-
     }
 
-    public void deleteComments(String sampleFile) throws Exception {
-        Workbook wb = getTestDataProvider().openSampleWorkbook(sampleFile);
+    public final void testDeleteComments() {
+        Workbook wb = _testDataProvider.openSampleWorkbook("SimpleWithComments." + _testDataProvider.getStandardFileNameExtension());
         Sheet sheet = wb.getSheetAt(0);
 
         // Zap from rows 1 and 3
@@ -201,20 +204,19 @@ public abstract class BaseTestCellComment extends TestCase {
         assertNull(sheet.getRow(2).getCell(1).getCellComment());
 
         // Save and re-load
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
         // Check
         assertNull(sheet.getRow(0).getCell(1).getCellComment());
         assertNotNull(sheet.getRow(1).getCell(1).getCellComment());
         assertNull(sheet.getRow(2).getCell(1).getCellComment());
-
     }
 
     /**
      * code from the quick guide
      */
     public void testQuickGuide(){
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
 
         CreationHelper factory = wb.getCreationHelper();
 
@@ -233,7 +235,7 @@ public abstract class BaseTestCellComment extends TestCase {
         //assign the comment to the cell
         cell.setCellComment(comment);
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
         cell = sheet.getRow(3).getCell(5);
         comment = cell.getCellComment();
@@ -243,4 +245,4 @@ public abstract class BaseTestCellComment extends TestCase {
         assertEquals(3, comment.getRow());
         assertEquals(5, comment.getColumn());
     }
-}
\ No newline at end of file
+}
index b1c21dd373aba552b1288e3dabf49fae0920bc4d..46f8204f11279b63e1d72ef528bfbccaa99792b7 100644 (file)
@@ -17,9 +17,8 @@
 
 package org.apache.poi.ss.usermodel;
 
-import java.util.Map;
-
 import junit.framework.TestCase;
+
 import org.apache.poi.ss.ITestDataProvider;
 
 /**
@@ -28,19 +27,20 @@ import org.apache.poi.ss.ITestDataProvider;
  */
 public abstract class BaseTestDataFormat extends TestCase {
 
-    /**
-     * @return an object that provides test data in HSSF / XSSF specific way
-     */
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
+
+    protected BaseTestDataFormat(ITestDataProvider testDataProvider) {
+        _testDataProvider = testDataProvider;
+    }
 
-    public void baseBuiltinFormats() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testBuiltinFormats() {
+        Workbook wb = _testDataProvider.createWorkbook();
 
         DataFormat df = wb.createDataFormat();
 
-        Map<Integer, String> formats = BuiltinFormats.getBuiltinFormats();
-        for (int idx : formats.keySet()) {
-            String fmt = formats.get(Integer.valueOf(idx));
+        String[] formats = BuiltinFormats.getAll();
+        for (int idx = 0; idx < formats.length; idx++) {
+            String fmt = formats[idx];
             assertEquals(idx, df.getFormat(fmt));
         }
 
index d5c8e21683459dd22b2ec46d43b8a95cb1075e2d..187599e31448ee610328ede99f01b90ef1d2155e 100644 (file)
@@ -26,11 +26,15 @@ import org.apache.poi.ss.ITestDataProvider;
  */
 public abstract class BaseTestFont extends TestCase {
 
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
 
-    public void baseTestDefaultFont(String defaultName, short defaultSize, short defaultColor){
+    protected BaseTestFont(ITestDataProvider testDataProvider) {
+        _testDataProvider = testDataProvider;
+    }
+
+    protected final void baseTestDefaultFont(String defaultName, short defaultSize, short defaultColor){
         //get default font and check against default value
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Font fontFind=workbook.findFont(Font.BOLDWEIGHT_NORMAL, defaultColor, defaultSize, defaultName, false, false, Font.SS_NONE, Font.U_NONE);
         assertNotNull(fontFind);
 
@@ -47,8 +51,8 @@ public abstract class BaseTestFont extends TestCase {
         assertNotNull(fontFind);
     }
 
-    public void testGetNumberOfFonts(){
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testGetNumberOfFonts(){
+        Workbook wb = _testDataProvider.createWorkbook();
         int num0 = wb.getNumberOfFonts();
 
         Font f1=wb.createFont();
@@ -76,8 +80,8 @@ public abstract class BaseTestFont extends TestCase {
      * Tests that we can define fonts to a new
      *  file, save, load, and still see them
      */
-    public void testCreateSave() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testCreateSave() {
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet s1 = wb.createSheet();
         Row r1 = s1.createRow(0);
         Cell r1c1 = r1.createCell(0);
@@ -99,7 +103,7 @@ public abstract class BaseTestFont extends TestCase {
         r1c1.setCellStyle(cellStyleTitle);
 
         // Save and re-load
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         s1 = wb.getSheetAt(0);
 
         assertEquals(num0 + 1, wb.getNumberOfFonts());
@@ -118,7 +122,7 @@ public abstract class BaseTestFont extends TestCase {
         assertEquals(num0 + 2, wb.getNumberOfFonts());
 
         // Save and re-load
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         s1 = wb.getSheetAt(0);
 
         assertEquals(num0 + 2, wb.getNumberOfFonts());
@@ -134,8 +138,8 @@ public abstract class BaseTestFont extends TestCase {
      *
      * @see org.apache.poi.hssf.usermodel.TestBugs#test45338()
      */
-    public void test45338() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void test45338() {
+        Workbook wb = _testDataProvider.createWorkbook();
         int num0 = wb.getNumberOfFonts();
 
         Sheet s = wb.createSheet();
index ae71841f7166209fe9e4ab3cfef247748cf81f71..833e5aab9a6efd74d86dd6ef3d89116dfacc5c02 100644 (file)
@@ -19,6 +19,7 @@ package org.apache.poi.ss.usermodel;
 
 import junit.framework.TestCase;
 
+import org.apache.poi.hssf.HSSFITestDataProvider;
 import org.apache.poi.ss.ITestDataProvider;
 
 /**
@@ -28,10 +29,14 @@ import org.apache.poi.ss.ITestDataProvider;
  */
 public abstract class BaseTestHyperlink extends TestCase {
 
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
 
-    public void testBasicTypes(){
-        Workbook wb = getTestDataProvider().createWorkbook();
+    protected BaseTestHyperlink(ITestDataProvider testDataProvider) {
+        _testDataProvider = testDataProvider;
+    }
+
+    public final void testBasicTypes(){
+        Workbook wb = _testDataProvider.createWorkbook();
         CreationHelper createHelper = wb.getCreationHelper();
 
         Cell cell;
@@ -72,7 +77,7 @@ public abstract class BaseTestHyperlink extends TestCase {
         link.setAddress("'Target Sheet'!A1");
         cell.setHyperlink(link);
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
 
         sheet = wb.getSheetAt(0);
         link = sheet.getRow(0).getCell(0).getHyperlink();
@@ -84,5 +89,5 @@ public abstract class BaseTestHyperlink extends TestCase {
         assertEquals("mailto:poi@apache.org?subject=Hyperlinks", link.getAddress());
         link = sheet.getRow(3).getCell(0).getHyperlink();
         assertEquals("'Target Sheet'!A1", link.getAddress());
-       }
-}
\ No newline at end of file
+    }
+}
index 08ce49b97dbfd98c50305517f43fc99d16837f2a..a8b37606261818d4530a4b9a06dc5c1b609a6395 100644 (file)
@@ -32,14 +32,15 @@ import org.apache.poi.ss.util.CellReference;
  */
 public abstract class BaseTestNamedRange extends TestCase {
 
-    /**
-     * @return an object that provides test data in HSSF / XSSF specific way
-     */
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
+
+    protected BaseTestNamedRange(ITestDataProvider testDataProvider) {
+        _testDataProvider = testDataProvider;
+    }
 
-    public void testCreate(){
+    public final void testCreate(){
         // Create a new workbook
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet1 = wb.createSheet("Test1");
         Sheet sheet2 = wb.createSheet("Testing Named Ranges");
 
@@ -99,28 +100,27 @@ public abstract class BaseTestNamedRange extends TestCase {
                 fail("should have thrown exceptiuon due to invalid name: " + name);
             } catch (IllegalArgumentException e) {
                 // expected during successful test
-                ;
             }
         }
     }
 
-    public void testUnicodeNamedRange() {
-        Workbook workBook = getTestDataProvider().createWorkbook();
+    public final void testUnicodeNamedRange() {
+        Workbook workBook = _testDataProvider.createWorkbook();
         workBook.createSheet("Test");
         Name name = workBook.createName();
         name.setNameName("\u03B1");
         name.setRefersToFormula("Test!$D$3:$E$8");
 
 
-        Workbook workBook2 = getTestDataProvider().writeOutAndReadBack(workBook);
+        Workbook workBook2 = _testDataProvider.writeOutAndReadBack(workBook);
         Name name2 = workBook2.getNameAt(0);
 
         assertEquals("\u03B1", name2.getNameName());
         assertEquals("Test!$D$3:$E$8", name2.getRefersToFormula());
     }
 
-    public void testAddRemove() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testAddRemove() {
+        Workbook wb = _testDataProvider.createWorkbook();
         assertEquals(0, wb.getNumberOfNames());
         Name name1 = wb.createName();
         name1.setNameName("name1");
@@ -141,8 +141,8 @@ public abstract class BaseTestNamedRange extends TestCase {
         assertEquals(1, wb.getNumberOfNames());
     }
 
-    public void testScope() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testScope() {
+        Workbook wb = _testDataProvider.createWorkbook();
         wb.createSheet();
         wb.createSheet();
 
@@ -194,10 +194,10 @@ public abstract class BaseTestNamedRange extends TestCase {
      * <p>
      * Addresses Bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13775" target="_bug">#13775</a>
      */
-    public void testMultiNamedRange() {
+    public final void testMultiNamedRange() {
 
          // Create a new workbook
-         Workbook wb = getTestDataProvider().createWorkbook();
+         Workbook wb = _testDataProvider.createWorkbook();
 
          // Create a worksheet 'sheet1' in the new workbook
          wb.createSheet ();
@@ -227,7 +227,7 @@ public abstract class BaseTestNamedRange extends TestCase {
 
          // Write the workbook to a file
          // Read the Excel file and verify its content
-         wb = getTestDataProvider().writeOutAndReadBack(wb);
+         wb = _testDataProvider.writeOutAndReadBack(wb);
          Name nm1 =wb.getNameAt(wb.getNameIndex("RangeTest1"));
          assertTrue("Name is "+nm1.getNameName(),"RangeTest1".equals(nm1.getNameName()));
          assertTrue("Reference is "+nm1.getRefersToFormula(),(wb.getSheetName(0)+"!$A$1:$L$41").equals(nm1.getRefersToFormula()));
@@ -240,8 +240,8 @@ public abstract class BaseTestNamedRange extends TestCase {
     /**
      * Test to see if the print areas can be retrieved/created in memory
      */
-    public void testSinglePrintArea() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testSinglePrintArea() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         workbook.createSheet("Test Print Area");
         String sheetName = workbook.getSheetName(0);
 
@@ -257,9 +257,9 @@ public abstract class BaseTestNamedRange extends TestCase {
      /**
       * For Convenience, don't force sheet names to be used
       */
-     public void testSinglePrintAreaWOSheet()
+     public final void testSinglePrintAreaWOSheet()
      {
-         Workbook workbook = getTestDataProvider().createWorkbook();
+         Workbook workbook = _testDataProvider.createWorkbook();
          workbook.createSheet("Test Print Area");
          String sheetName = workbook.getSheetName(0);
 
@@ -275,8 +275,8 @@ public abstract class BaseTestNamedRange extends TestCase {
      /**
       * Test to see if the print area made it to the file
       */
-     public void testPrintAreaFile() {
-         Workbook workbook = getTestDataProvider().createWorkbook();
+     public final void testPrintAreaFile() {
+         Workbook workbook = _testDataProvider.createWorkbook();
          workbook.createSheet("Test Print Area");
          String sheetName = workbook.getSheetName(0);
 
@@ -284,7 +284,7 @@ public abstract class BaseTestNamedRange extends TestCase {
          String reference = "$A$1:$B$1";
          workbook.setPrintArea(0, reference);
 
-         workbook = getTestDataProvider().writeOutAndReadBack(workbook);
+         workbook = _testDataProvider.writeOutAndReadBack(workbook);
 
          String retrievedPrintArea = workbook.getPrintArea(0);
          assertNotNull("Print Area not defined for first sheet", retrievedPrintArea);
@@ -294,8 +294,8 @@ public abstract class BaseTestNamedRange extends TestCase {
     /**
      * Test to see if multiple print areas made it to the file
      */
-    public void testMultiplePrintAreaFile() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testMultiplePrintAreaFile() {
+        Workbook workbook = _testDataProvider.createWorkbook();
 
         workbook.createSheet("Sheet1");
         workbook.createSheet("Sheet2");
@@ -324,7 +324,7 @@ public abstract class BaseTestNamedRange extends TestCase {
         assertEquals("Sheet3!" + reference3, retrievedPrintArea);
 
         // Check print areas after re-reading workbook
-        workbook = getTestDataProvider().writeOutAndReadBack(workbook);
+        workbook = _testDataProvider.writeOutAndReadBack(workbook);
 
         retrievedPrintArea = workbook.getPrintArea(0);
         assertNotNull("Print Area Not Found (Sheet 1)", retrievedPrintArea);
@@ -343,8 +343,8 @@ public abstract class BaseTestNamedRange extends TestCase {
      * Tests the setting of print areas with coordinates (Row/Column designations)
      *
      */
-    public void testPrintAreaCoords(){
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testPrintAreaCoords(){
+        Workbook workbook = _testDataProvider.createWorkbook();
         workbook.createSheet("Test Print Area");
         String sheetName = workbook.getSheetName(0);
 
@@ -361,8 +361,8 @@ public abstract class BaseTestNamedRange extends TestCase {
      * Tests the parsing of union area expressions, and re-display in the presence of sheet names
      * with special characters.
      */
-    public void testPrintAreaUnion(){
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testPrintAreaUnion(){
+        Workbook workbook = _testDataProvider.createWorkbook();
         workbook.createSheet("Test Print Area");
 
         String reference = "$A$1:$B$1,$D$1:$F$2";
@@ -376,8 +376,8 @@ public abstract class BaseTestNamedRange extends TestCase {
      * Verifies an existing print area is deleted
      *
      */
-    public void testPrintAreaRemove() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testPrintAreaRemove() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         workbook.createSheet("Test Print Area");
         workbook.getSheetName(0);
 
@@ -394,8 +394,8 @@ public abstract class BaseTestNamedRange extends TestCase {
     /**
      * Test that multiple named ranges can be added written and read
      */
-    public void testMultipleNamedWrite() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testMultipleNamedWrite() {
+        Workbook wb = _testDataProvider.createWorkbook();
 
 
         wb.createSheet("testSheet1");
@@ -417,7 +417,7 @@ public abstract class BaseTestNamedRange extends TestCase {
 
         wb.getNameAt(0);
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         Name nm =wb.getNameAt(wb.getNameIndex("RangeTest"));
         assertTrue("Name is "+nm.getNameName(),"RangeTest".equals(nm.getNameName()));
         assertTrue("Reference is "+nm.getRefersToFormula(),(wb.getSheetName(0)+"!$D$4:$E$8").equals(nm.getRefersToFormula()));
@@ -429,13 +429,13 @@ public abstract class BaseTestNamedRange extends TestCase {
     /**
      * Verifies correct functioning for "single cell named range" (aka "named cell")
      */
-    public void testNamedCell_1() {
+    public final void testNamedCell_1() {
 
         // setup for this testcase
         String sheetName = "Test Named Cell";
         String cellName = "named_cell";
         String cellValue = "TEST Value";
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet(sheetName);
         CreationHelper factory = wb.getCreationHelper();
         sheet.createRow(0).createCell(0).setCellValue(factory.createRichTextString(cellValue));
@@ -468,11 +468,11 @@ public abstract class BaseTestNamedRange extends TestCase {
     /**
      * Verifies correct functioning for "single cell named range" (aka "named cell")
      */
-    public void testNamedCell_2() {
+    public final void testNamedCell_2() {
 
         // setup for this testcase
         String sname = "TestSheet", cname = "TestName", cvalue = "TestVal";
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         CreationHelper factory = wb.getCreationHelper();
         Sheet sheet = wb.createSheet(sname);
         sheet.createRow(0).createCell(0).setCellValue(factory.createRichTextString(cvalue));
@@ -498,25 +498,25 @@ public abstract class BaseTestNamedRange extends TestCase {
         assertEquals("Contents of cell retrieved by its named reference", contents, cvalue);
     }
 
-    
+
     /**
-     * Bugzilla attachment 23444 (from bug 46973) has a NAME record with the following encoding: 
+     * Bugzilla attachment 23444 (from bug 46973) has a NAME record with the following encoding:
      * <pre>
      * 00000000 | 18 00 17 00 00 00 00 08 00 00 00 00 00 00 00 00 | ................
      * 00000010 | 00 00 00 55 50 53 53 74 61 74 65                | ...UPSState
-     * </pre>     
-     * 
+     * </pre>
+     *
      * This caused trouble for anything that requires {@link HSSFName#getRefersToFormula()}
      * It is easy enough to re-create the the same data (by not setting the formula). Excel
      * seems to gracefully remove this uninitialized name record.  It would be nice if POI
-     * could do the same, but that would involve adjusting subsequent name indexes across 
+     * could do the same, but that would involve adjusting subsequent name indexes across
      * all formulas. <p/>
-     * 
-     * For the moment, POI has been made to behave more sensibly with uninitialised name 
+     *
+     * For the moment, POI has been made to behave more sensibly with uninitialised name
      * records.
      */
     public final void testUninitialisedNameGetRefersToFormula_bug46973() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Name n = wb.createName();
         n.setNameName("UPSState");
         String formula;
@@ -532,8 +532,8 @@ public abstract class BaseTestNamedRange extends TestCase {
         assertFalse(n.isDeleted()); // according to exact definition of isDeleted()
     }
 
-    public void testDeletedCell() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testDeletedCell() {
+        Workbook wb = _testDataProvider.createWorkbook();
         Name n = wb.createName();
         n.setNameName("MyName");
         // contrived example to expose bug:
@@ -545,8 +545,8 @@ public abstract class BaseTestNamedRange extends TestCase {
 
     }
 
-    public void testFunctionNames() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testFunctionNames() {
+        Workbook wb = _testDataProvider.createWorkbook();
         Name n = wb.createName();
         assertFalse(n.isFunctionName());
 
@@ -559,4 +559,4 @@ public abstract class BaseTestNamedRange extends TestCase {
         n.setFunction(false);
         assertFalse(n.isFunctionName());
     }
-}
\ No newline at end of file
+}
index 27f949d89c648a83dec9b9b9cf284b4c3ccc072d..b19513759d4d8cbfa68255a0b746f681524a13a1 100644 (file)
@@ -18,6 +18,7 @@
 package org.apache.poi.ss.usermodel;
 
 import junit.framework.TestCase;
+
 import org.apache.poi.ss.ITestDataProvider;
 
 /**
@@ -25,15 +26,19 @@ import org.apache.poi.ss.ITestDataProvider;
  */
 public abstract class BaseTestPicture extends TestCase {
 
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
+
+    protected BaseTestPicture(ITestDataProvider testDataProvider) {
+        _testDataProvider = testDataProvider;
+    }
 
     public void baseTestResize(ClientAnchor referenceAnchor) {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sh1 = wb.createSheet();
         Drawing  p1 = sh1.createDrawingPatriarch();
         CreationHelper factory = wb.getCreationHelper();
 
-        byte[] pictureData = getTestDataProvider().getTestDataFileContent("logoKarmokar4.png");
+        byte[] pictureData = _testDataProvider.getTestDataFileContent("logoKarmokar4.png");
         int idx1 = wb.addPicture( pictureData, Workbook.PICTURE_TYPE_PNG );
         Picture picture = p1.createPicture(factory.createClientAnchor(), idx1);
         picture.resize();
index aa37dcc2a7092e499a865b7b91b4b2a3864b9d3d..a229804a095d4ddb96a21701bf2241baf9d97c7b 100644 (file)
 
 package org.apache.poi.ss.usermodel;
 
+import java.util.Iterator;
+
 import junit.framework.TestCase;
-import org.apache.poi.ss.ITestDataProvider;
 
-import java.util.Iterator;
+import org.apache.poi.ss.ITestDataProvider;
 
 /**
  * A base class for testing implementations of
@@ -28,14 +29,14 @@ import java.util.Iterator;
  */
 public abstract class BaseTestRow extends TestCase {
 
-    /**
-     * @return an object that provides test data in  / XSSF specific way
-     */
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
 
+    protected BaseTestRow(ITestDataProvider testDataProvider) {
+        _testDataProvider = testDataProvider;
+    }
 
-    public void testLastAndFirstColumns() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testLastAndFirstColumns() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         Row row = sheet.createRow(0);
         assertEquals(-1, row.getFirstCellNum());
@@ -62,8 +63,8 @@ public abstract class BaseTestRow extends TestCase {
      * 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.
      */
-    public void testBoundsInMultipleRows() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testBoundsInMultipleRows() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         Row rowA = sheet.createRow(0);
 
@@ -86,8 +87,8 @@ public abstract class BaseTestRow extends TestCase {
         assertEquals(31, rowB.getLastCellNum());
     }
 
-    public void testRemoveCell() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testRemoveCell() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         Row row = sheet.createRow(0);
 
@@ -112,7 +113,7 @@ public abstract class BaseTestRow extends TestCase {
         assertEquals(-1, row.getFirstCellNum());
         assertEquals(0, row.getPhysicalNumberOfCells());
 
-        workbook = getTestDataProvider().writeOutAndReadBack(workbook);
+        workbook = _testDataProvider.writeOutAndReadBack(workbook);
         sheet = workbook.getSheetAt(0);
         row = sheet.getRow(0);
         assertEquals(-1, row.getLastCellNum());
@@ -121,7 +122,7 @@ public abstract class BaseTestRow extends TestCase {
     }
 
     public void baseTestRowBounds(int maxRowNum) {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         //Test low row bound
         sheet.createRow(0);
@@ -147,13 +148,13 @@ public abstract class BaseTestRow extends TestCase {
     }
 
     public void baseTestCellBounds(int maxCellNum) {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
 
         Row row = sheet.createRow(0);
         //Test low cell bound
         try {
-            Cell cell = row.createCell(-1);
+            row.createCell(-1);
             fail("expected exception");
         } catch (IllegalArgumentException e) {
             // expected during successful test
@@ -162,17 +163,17 @@ public abstract class BaseTestRow extends TestCase {
 
         //Test high cell bound
         try {
-            Cell cell = row.createCell(maxCellNum + 1);
+            row.createCell(maxCellNum + 1);
             fail("expected exception");
         } catch (IllegalArgumentException e) {
             // expected during successful test
             assertTrue(e.getMessage().startsWith("Invalid column index ("+(maxCellNum+1)+")"));
         }
         for(int i=0; i < maxCellNum; i++){
-            Cell cell = row.createCell(i);
+            row.createCell(i);
         }
         assertEquals(maxCellNum, row.getPhysicalNumberOfCells());
-        workbook = getTestDataProvider().writeOutAndReadBack(workbook);
+        workbook = _testDataProvider.writeOutAndReadBack(workbook);
         sheet = workbook.getSheetAt(0);
         row = sheet.getRow(0);
         assertEquals(maxCellNum, row.getPhysicalNumberOfCells());
@@ -187,8 +188,8 @@ public abstract class BaseTestRow extends TestCase {
      * Prior to patch 43901, POI was producing files with the wrong last-column
      * number on the row
      */
-    public void testLastCellNumIsCorrectAfterAddCell_bug43901(){
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testLastCellNumIsCorrectAfterAddCell_bug43901(){
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet("test");
         Row row = sheet.createRow(0);
 
@@ -209,8 +210,8 @@ public abstract class BaseTestRow extends TestCase {
     /**
      * Tests for the missing/blank cell policy stuff
      */
-    public void testGetCellPolicy() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testGetCellPolicy() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet("test");
         Row row = sheet.createRow(0);
 
@@ -278,8 +279,8 @@ public abstract class BaseTestRow extends TestCase {
         assertEquals(Cell.CELL_TYPE_NUMERIC, row.getCell(5).getCellType());
     }
 
-    public void testRowHeight() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testRowHeight() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         Row row1 = sheet.createRow(0);
 
@@ -305,7 +306,7 @@ public abstract class BaseTestRow extends TestCase {
         row4.setZeroHeight(true);
         assertTrue(row4.getZeroHeight());
 
-        workbook = getTestDataProvider().writeOutAndReadBack(workbook);
+        workbook = _testDataProvider.writeOutAndReadBack(workbook);
         sheet = workbook.getSheetAt(0);
 
         row1 = sheet.getRow(0);
@@ -330,8 +331,8 @@ public abstract class BaseTestRow extends TestCase {
     /**
      * Test adding cells to a row in various places and see if we can find them again.
      */
-    public void testCellIterator() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testCellIterator() {
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet();
         Row row = sheet.createRow(0);
 
index 2a81023ed5622204e5d7445265ea1490fd9eea26..7613da4d87a6d87b4b0d526573aeb04fb6627de9 100644 (file)
 
 package org.apache.poi.ss.usermodel;
 
+import java.util.Iterator;
+
 import junit.framework.TestCase;
+
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.util.CellRangeAddress;
 
-import java.util.Iterator;
-
 /**
  * Common superclass for testing {@link org.apache.poi.xssf.usermodel.XSSFCell}  and
  * {@link org.apache.poi.hssf.usermodel.HSSFCell}
  */
 public abstract class BaseTestSheet extends TestCase {
 
-    /**
-     * @return an object that provides test data in HSSF / XSSF specific way
-     */
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
+
+    protected BaseTestSheet(ITestDataProvider testDataProvider) {
+    _testDataProvider = testDataProvider;
+    }
 
     public void testCreateRow() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         assertEquals(0, sheet.getPhysicalNumberOfRows());
 
@@ -76,7 +78,7 @@ public abstract class BaseTestSheet extends TestCase {
 
 
     public void testRemoveRow() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet1 = workbook.createSheet();
         assertEquals(0, sheet1.getPhysicalNumberOfRows());
         assertEquals(0, sheet1.getFirstRowNum());
@@ -117,7 +119,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testCloneSheet() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         CreationHelper factory = workbook.getCreationHelper();
         Sheet sheet = workbook.createSheet("Test Clone");
         Row row = sheet.createRow(0);
@@ -149,7 +151,7 @@ public abstract class BaseTestSheet extends TestCase {
      * BUG 37416
      */
     public void testCloneSheetMultipleTimes() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         CreationHelper factory = workbook.getCreationHelper();
         Sheet sheet = workbook.createSheet("Test Clone");
         Row row = sheet.createRow(0);
@@ -176,7 +178,7 @@ public abstract class BaseTestSheet extends TestCase {
      * Setting landscape and portrait stuff on new sheets
      */
     public void testPrintSetupLandscapeNew() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheetL = workbook.createSheet("LandscapeS");
         Sheet sheetP = workbook.createSheet("LandscapeP");
 
@@ -197,7 +199,7 @@ public abstract class BaseTestSheet extends TestCase {
         assertEquals(3, sheetP.getPrintSetup().getCopies());
 
         // Save and re-load, and check still there
-        workbook = getTestDataProvider().writeOutAndReadBack(workbook);
+        workbook = _testDataProvider.writeOutAndReadBack(workbook);
         sheetL = workbook.getSheet("LandscapeS");
         sheetP = workbook.getSheet("LandscapeP");
 
@@ -213,10 +215,10 @@ public abstract class BaseTestSheet extends TestCase {
      *
      */
     public void testAddMerged() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet();
         assertEquals(0, sheet.getNumMergedRegions());
-        SpreadsheetVersion ssVersion = getTestDataProvider().getSpreadsheetVersion();
+        SpreadsheetVersion ssVersion = _testDataProvider.getSpreadsheetVersion();
 
         CellRangeAddress region = new CellRangeAddress(0, 1, 0, 1);
         sheet.addMergedRegion(region);
@@ -227,24 +229,23 @@ public abstract class BaseTestSheet extends TestCase {
             sheet.addMergedRegion(region);
             fail("Expected exception");
         } catch (IllegalArgumentException e){
-            ;
+// TODO           assertEquals("Minimum row number is 0.", e.getMessage());
         }
         try {
             region = new CellRangeAddress(0, 0, 0, ssVersion.getLastColumnIndex() + 1);
             sheet.addMergedRegion(region);
             fail("Expected exception");
         } catch (IllegalArgumentException e){
-            ;
+            assertEquals("Maximum column number is " + ssVersion.getLastColumnIndex(), e.getMessage());
         }
         try {
             region = new CellRangeAddress(0, ssVersion.getLastRowIndex() + 1, 0, 1);
             sheet.addMergedRegion(region);
             fail("Expected exception");
         } catch (IllegalArgumentException e){
-            ;
+            assertEquals("Maximum row number is " + ssVersion.getLastRowIndex(), e.getMessage());
         }
         assertEquals(1, sheet.getNumMergedRegions());
-
     }
 
     /**
@@ -252,7 +253,7 @@ public abstract class BaseTestSheet extends TestCase {
      *
      */
     public void testRemoveMerged() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet();
         CellRangeAddress region = new CellRangeAddress(0, 1, 0, 1);
         sheet.addMergedRegion(region);
@@ -286,7 +287,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testShiftMerged() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         CreationHelper factory = wb.getCreationHelper();
         Sheet sheet = wb.createSheet();
         Row row = sheet.createRow(0);
@@ -311,7 +312,7 @@ public abstract class BaseTestSheet extends TestCase {
      * @author Shawn Laubach (slaubach at apache dot org)
      */
     public void testDisplayOptions() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet();
 
         assertEquals(sheet.isDisplayGridlines(), true);
@@ -324,7 +325,7 @@ public abstract class BaseTestSheet extends TestCase {
         sheet.setDisplayFormulas(true);
         sheet.setDisplayZeros(false);
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
 
         assertEquals(sheet.isDisplayGridlines(), false);
@@ -334,7 +335,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testColumnWidth() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet();
 
         //default column width measured in characters
@@ -376,7 +377,7 @@ public abstract class BaseTestSheet extends TestCase {
         }
 
         //serialize and read again
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
 
         sheet = wb.getSheetAt(0);
         assertEquals(20, sheet.getDefaultColumnWidth());
@@ -393,7 +394,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testDefaultRowHeight() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         sheet.setDefaultRowHeightInPoints(15);
         assertEquals((short) 300, sheet.getDefaultRowHeight());
@@ -417,7 +418,7 @@ public abstract class BaseTestSheet extends TestCase {
 
     /** cell with formula becomes null on cloning a sheet*/
      public void test35084() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet s = wb.createSheet("Sheet1");
         Row r = s.createRow(0);
         r.createCell(0).setCellValue(1);
@@ -431,7 +432,7 @@ public abstract class BaseTestSheet extends TestCase {
 
     /** test that new default column styles get applied */
     public void testDefaultColumnStyle() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         CellStyle style = wb.createCellStyle();
         Sheet sheet = wb.createSheet();
         sheet.setDefaultColumnStyle(0, style);
@@ -446,7 +447,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testOutlineProperties() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
 
         Sheet sheet = wb.createSheet();
 
@@ -466,7 +467,7 @@ public abstract class BaseTestSheet extends TestCase {
         assertTrue(sheet.getRowSumsBelow());
         assertTrue(sheet.getRowSumsRight());
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         sheet = wb.getSheetAt(0);
         assertTrue(sheet.getRowSumsBelow());
         assertTrue(sheet.getRowSumsRight());
@@ -476,7 +477,7 @@ public abstract class BaseTestSheet extends TestCase {
      * Test basic display properties
      */
     public void testSheetProperties() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet = wb.createSheet();
 
         assertFalse(sheet.getHorizontallyCenter());
@@ -535,7 +536,7 @@ public abstract class BaseTestSheet extends TestCase {
         double marginHeader = defaultMargins[4];
         double marginFooter = defaultMargins[5];
 
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet("Sheet 1");
         assertEquals(marginLeft, sheet.getMargin(Sheet.LeftMargin), 0.0);
         sheet.setMargin(Sheet.LeftMargin, 10.0);
@@ -561,7 +562,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testRowBreaks() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         //Sheet#getRowBreaks() returns an empty array if no row breaks are defined
         assertNotNull(sheet.getRowBreaks());
@@ -589,7 +590,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testColumnBreaks() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         assertNotNull(sheet.getColumnBreaks());
         assertEquals(0, sheet.getColumnBreaks().length);
@@ -616,7 +617,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testGetFirstLastRowNum() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet("Sheet 1");
         sheet.createRow(9);
         sheet.createRow(0);
@@ -626,7 +627,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testGetFooter() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet("Sheet 1");
         assertNotNull(sheet.getFooter());
         sheet.getFooter().setCenter("test center footer");
@@ -634,7 +635,7 @@ public abstract class BaseTestSheet extends TestCase {
     }
 
     public void testGetSetColumnHidden() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet("Sheet 1");
         sheet.setColumnHidden(2, true);
         assertTrue(sheet.isColumnHidden(2));
index 1c99f967485ab809d50546da2d09b6ec2b2ad6b0..c963f6eccc509ce32b31f0cdb12cdb24521f372b 100644 (file)
@@ -17,8 +17,9 @@
 
 package org.apache.poi.ss.usermodel;
 
-import junit.framework.TestCase;
 import junit.framework.AssertionFailedError;
+import junit.framework.TestCase;
+
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.util.CellRangeAddress;
 
@@ -27,10 +28,14 @@ import org.apache.poi.ss.util.CellRangeAddress;
  */
 public abstract class BaseTestWorkbook extends TestCase {
 
-    protected abstract ITestDataProvider getTestDataProvider();
+    private final ITestDataProvider _testDataProvider;
 
-    public void testCreateSheet() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    protected BaseTestWorkbook(ITestDataProvider testDataProvider) {
+    _testDataProvider = testDataProvider;
+    }
+
+    public final void testCreateSheet() {
+        Workbook wb = _testDataProvider.createWorkbook();
         assertEquals(0, wb.getNumberOfSheets());
 
         //getting a sheet by invalid index or non-existing name
@@ -87,7 +92,7 @@ public abstract class BaseTestWorkbook extends TestCase {
             wb.setSheetName(1, "[I'm invalid]");
             fail("should have thrown exceptiuon due to invalid sheet name");
         } catch (IllegalArgumentException e) {
-            // expected during successful test
+            // expected during successful test
         }
 
         //check
@@ -101,15 +106,15 @@ public abstract class BaseTestWorkbook extends TestCase {
         assertNull(wb.getSheet("unknown"));
 
         //serialize and read again
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
         assertEquals(3, wb.getNumberOfSheets());
         assertEquals(0, wb.getSheetIndex("sheet0"));
         assertEquals(1, wb.getSheetIndex("sheet1"));
         assertEquals(2, wb.getSheetIndex("I changed!"));
     }
 
-    public void testRemoveSheetAt() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testRemoveSheetAt() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         workbook.createSheet("sheet1");
         workbook.createSheet("sheet2");
         workbook.createSheet("sheet3");
@@ -130,16 +135,16 @@ public abstract class BaseTestWorkbook extends TestCase {
         assertEquals(3, workbook.getNumberOfSheets());
     }
 
-    public void testDefaultValues() {
-        Workbook b = getTestDataProvider().createWorkbook();
+    public final void testDefaultValues() {
+        Workbook b = _testDataProvider.createWorkbook();
         assertEquals(0, b.getActiveSheetIndex());
         assertEquals(0, b.getFirstVisibleTab());
         assertEquals(0, b.getNumberOfNames());
         assertEquals(0, b.getNumberOfSheets());
     }
 
-    public void testSheetSelection() {
-        Workbook b = getTestDataProvider().createWorkbook();
+    public final void testSheetSelection() {
+        Workbook b = _testDataProvider.createWorkbook();
         b.createSheet("Sheet One");
         b.createSheet("Sheet Two");
         b.setActiveSheet(1);
@@ -149,8 +154,8 @@ public abstract class BaseTestWorkbook extends TestCase {
         assertEquals(1, b.getFirstVisibleTab());
     }
 
-    public void testPrintArea() {
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testPrintArea() {
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet1 = workbook.createSheet("Test Print Area");
         String sheetName1 = sheet1.getSheetName();
 
@@ -168,8 +173,8 @@ public abstract class BaseTestWorkbook extends TestCase {
         assertNull(workbook.getPrintArea(0));
     }
 
-    public void testGetSetActiveSheet(){
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testGetSetActiveSheet(){
+        Workbook workbook = _testDataProvider.createWorkbook();
         assertEquals(0, workbook.getActiveSheetIndex());
 
         workbook.createSheet("sheet1");
@@ -185,8 +190,8 @@ public abstract class BaseTestWorkbook extends TestCase {
         assertEquals(0, workbook.getActiveSheetIndex());
     }
 
-    public void testSetSheetOrder() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testSetSheetOrder() {
+        Workbook wb = _testDataProvider.createWorkbook();
 
         for (int i=0; i < 10; i++) {
             wb.createSheet("Sheet " + i);
@@ -221,7 +226,7 @@ public abstract class BaseTestWorkbook extends TestCase {
         assertEquals(8, wb.getSheetIndex("Sheet 9"));
         assertEquals(9, wb.getSheetIndex("Sheet 1"));
 
-        Workbook wbr = getTestDataProvider().writeOutAndReadBack(wb);
+        Workbook wbr = _testDataProvider.writeOutAndReadBack(wb);
 
         assertEquals(0, wbr.getSheetIndex("Sheet 6"));
         assertEquals(1, wbr.getSheetIndex("Sheet 0"));
@@ -241,8 +246,8 @@ public abstract class BaseTestWorkbook extends TestCase {
         }
     }
 
-    public void testCloneSheet() {
-        Workbook book = getTestDataProvider().createWorkbook();
+    public final void testCloneSheet() {
+        Workbook book = _testDataProvider.createWorkbook();
         Sheet sheet = book.createSheet("TEST");
         sheet.createRow(0).createCell(0).setCellValue("Test");
         sheet.createRow(1).createCell(0).setCellValue(36.6);
@@ -269,8 +274,8 @@ public abstract class BaseTestWorkbook extends TestCase {
 
     }
 
-    public void testParentReferences(){
-        Workbook workbook = getTestDataProvider().createWorkbook();
+    public final void testParentReferences(){
+        Workbook workbook = _testDataProvider.createWorkbook();
         Sheet sheet = workbook.createSheet();
         assertSame(workbook, sheet.getWorkbook());
 
@@ -281,7 +286,7 @@ public abstract class BaseTestWorkbook extends TestCase {
         assertSame(sheet, cell.getSheet());
         assertSame(row, cell.getRow());
 
-        workbook = getTestDataProvider().writeOutAndReadBack(workbook);
+        workbook = _testDataProvider.writeOutAndReadBack(workbook);
         sheet = workbook.getSheetAt(0);
         assertSame(workbook, sheet.getWorkbook());
 
@@ -293,8 +298,8 @@ public abstract class BaseTestWorkbook extends TestCase {
         assertSame(row, cell.getRow());
     }
 
-    public void testSetRepeatingRowsAnsColumns(){
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testSetRepeatingRowsAnsColumns(){
+        Workbook wb = _testDataProvider.createWorkbook();
         Sheet sheet1 = wb.createSheet();
         wb.setRepeatingRowsAndColumns(wb.getSheetIndex(sheet1), 0, 0, 0, 3);
 
@@ -306,8 +311,8 @@ public abstract class BaseTestWorkbook extends TestCase {
     /**
      * Tests that all of the unicode capable string fields can be set, written and then read back
      */
-    public void testUnicodeInAll() {
-        Workbook wb = getTestDataProvider().createWorkbook();
+    public final void testUnicodeInAll() {
+        Workbook wb = _testDataProvider.createWorkbook();
         CreationHelper factory = wb.getCreationHelper();
         //Create a unicode dataformat (contains euro symbol)
         DataFormat df = wb.createDataFormat();
@@ -341,7 +346,7 @@ public abstract class BaseTestWorkbook extends TestCase {
         String formulaString = "TEXT(12.34,\"\u20ac###,##\")";
         c3.setCellFormula(formulaString);
 
-        wb = getTestDataProvider().writeOutAndReadBack(wb);
+        wb = _testDataProvider.writeOutAndReadBack(wb);
 
         //Test the sheetname
         s = wb.getSheet("\u20ac");