You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2019/12/27 23:00:20 UTC

svn commit: r1872041 [17/23] - in /poi/trunk/src: excelant/testcases/org/apache/poi/ss/examples/formula/ excelant/testcases/org/apache/poi/ss/excelant/ excelant/testcases/org/apache/poi/ss/excelant/util/ java/org/apache/poi/hssf/record/aggregates/ java...

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheetUpdateArrayFormulas.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheetUpdateArrayFormulas.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheetUpdateArrayFormulas.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheetUpdateArrayFormulas.java Fri Dec 27 23:00:13 2019
@@ -17,13 +17,19 @@
 
 package org.apache.poi.hssf.usermodel;
 
+import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
+import org.apache.poi.POITestCase;
 import org.apache.poi.hssf.HSSFITestDataProvider;
 import org.apache.poi.hssf.record.ArrayRecord;
 import org.apache.poi.hssf.record.FormulaRecord;
@@ -31,7 +37,6 @@ import org.apache.poi.hssf.record.Record
 import org.apache.poi.hssf.record.aggregates.FormulaRecordAggregate;
 import org.apache.poi.hssf.record.aggregates.RowRecordsAggregate;
 import org.apache.poi.hssf.record.aggregates.SharedValueManager;
-import org.apache.poi.hssf.record.aggregates.TestSharedValueManager;
 import org.apache.poi.ss.usermodel.BaseTestSheetUpdateArrayFormulas;
 import org.apache.poi.ss.usermodel.CellRange;
 import org.apache.poi.ss.util.CellRangeAddress;
@@ -39,9 +44,6 @@ import org.junit.Test;
 
 /**
  * Test array formulas in HSSF
- *
- * @author Yegor Kozlov
- * @author Josh Micich
  */
 public final class TestHSSFSheetUpdateArrayFormulas extends BaseTestSheetUpdateArrayFormulas {
 
@@ -53,27 +55,26 @@ public final class TestHSSFSheetUpdateAr
     // Local methods here test HSSF-specific details of updating array formulas
     @Test
     public void testHSSFSetArrayFormula_singleCell() throws IOException {
-        HSSFWorkbook workbook = new HSSFWorkbook();
-        HSSFSheet sheet = workbook.createSheet("Sheet1");
+        try (HSSFWorkbook workbook = new HSSFWorkbook()) {
+            HSSFSheet sheet = workbook.createSheet("Sheet1");
 
-        CellRangeAddress range = new CellRangeAddress(2, 2, 2, 2);
-        HSSFCell[] cells = sheet.setArrayFormula("SUM(C11:C12*D11:D12)", range).getFlattenedCells();
-        assertEquals(1, cells.length);
-
-        // sheet.setArrayFormula creates rows and cells for the designated range
-        assertNotNull(sheet.getRow(2));
-        HSSFCell cell = sheet.getRow(2).getCell(2);
-        assertNotNull(cell);
-
-        assertTrue(cell.isPartOfArrayFormulaGroup());
-        //retrieve the range and check it is the same
-        assertEquals(range.formatAsString(), cell.getArrayFormulaRange().formatAsString());
-
-        FormulaRecordAggregate agg = (FormulaRecordAggregate)cell.getCellValueRecord();
-        assertEquals(range.formatAsString(), agg.getArrayFormulaRange().formatAsString());
-        assertTrue(agg.isPartOfArrayFormula());
-        
-        workbook.close();
+            CellRangeAddress range = new CellRangeAddress(2, 2, 2, 2);
+            HSSFCell[] cells = sheet.setArrayFormula("SUM(C11:C12*D11:D12)", range).getFlattenedCells();
+            assertEquals(1, cells.length);
+
+            // sheet.setArrayFormula creates rows and cells for the designated range
+            assertNotNull(sheet.getRow(2));
+            HSSFCell cell = sheet.getRow(2).getCell(2);
+            assertNotNull(cell);
+
+            assertTrue(cell.isPartOfArrayFormulaGroup());
+            //retrieve the range and check it is the same
+            assertEquals(range.formatAsString(), cell.getArrayFormulaRange().formatAsString());
+
+            FormulaRecordAggregate agg = (FormulaRecordAggregate) cell.getCellValueRecord();
+            assertEquals(range.formatAsString(), agg.getArrayFormulaRange().formatAsString());
+            assertTrue(agg.isPartOfArrayFormula());
+        }
     }
 
     /**
@@ -81,53 +82,38 @@ public final class TestHSSFSheetUpdateAr
      */
     @Test
     public void testAddRemoveArrayFormulas_recordUpdates() throws IOException {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet s = wb.createSheet("Sheet1");
-
-        CellRange<HSSFCell> cr = s.setArrayFormula("123", CellRangeAddress.valueOf("B5:C6"));
-        Record[] recs;
-        int ix;
-        recs = RecordInspector.getRecords(s, 0);
-        ix = findRecordOfType(recs, ArrayRecord.class, 0);
-        confirmRecordClass(recs, ix-1, FormulaRecord.class);
-        confirmRecordClass(recs, ix+1, FormulaRecord.class);
-        confirmRecordClass(recs, ix+2, FormulaRecord.class);
-        confirmRecordClass(recs, ix+3, FormulaRecord.class);
-        // just one array record
-        assertTrue(findRecordOfType(recs, ArrayRecord.class, ix+1) < 0);
-
-        s.removeArrayFormula(cr.getTopLeftCell());
-
-        // Make sure the array formula has been removed properly
-
-        recs = RecordInspector.getRecords(s, 0);
-        assertTrue(findRecordOfType(recs, ArrayRecord.class, 0) < 0);
-        assertTrue(findRecordOfType(recs, FormulaRecord.class, 0) < 0);
-        RowRecordsAggregate rra = s.getSheet().getRowsAggregate();
-        SharedValueManager svm = TestSharedValueManager.extractFromRRA(rra);
-        if (svm.getArrayRecord(4, 1) != null) {
-            fail("Array record was not cleaned up properly.");
-        }
-        
-        wb.close();
-    }
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet s = wb.createSheet("Sheet1");
 
-    private static void confirmRecordClass(Record[] recs, int index, Class<? extends Record> cls) {
-        if (recs.length <= index) {
-            fail("Expected (" + cls.getName() + ") at index "
-                + index + " but array length is " + recs.length + ".");
-        }
-        assertEquals(cls, recs[index].getClass());
-    }
-    /**
-     * @return <tt>-1<tt> if not found
-     */
-    private static int findRecordOfType(Record[] recs, Class<?> type, int fromIndex) {
-        for (int i=fromIndex; i<recs.length; i++) {
-            if (type.isInstance(recs[i])) {
-                return i;
+            CellRange<HSSFCell> cr = s.setArrayFormula("123", CellRangeAddress.valueOf("B5:C6"));
+            List<Record> recs = new ArrayList<>();
+            s.getSheet().visitContainedRecords(recs::add, 0);
+
+            int ix = 0;
+            for (Record r : recs) {
+                if (r instanceof ArrayRecord) break;
+                ix++;
             }
+
+            assertNotEquals(ix, recs.size());
+            Class<?>[] act = recs.subList(ix-1, ix+4).stream().map(Object::getClass).toArray(Class[]::new);
+            Class<?>[] exp = { FormulaRecord.class, ArrayRecord.class, FormulaRecord.class, FormulaRecord.class, FormulaRecord.class };
+            assertArrayEquals(exp, act);
+
+            // just one array record
+            assertFalse(recs.subList(ix + 1, recs.size()).stream().anyMatch(r -> r instanceof ArrayRecord));
+
+            s.removeArrayFormula(cr.getTopLeftCell());
+
+            // Make sure the array formula has been removed properly
+            recs.clear();
+            s.getSheet().visitContainedRecords(recs::add, 0);
+
+            assertFalse(recs.stream().anyMatch(r -> r instanceof ArrayRecord || r instanceof FormulaRecord));
+            RowRecordsAggregate rra = s.getSheet().getRowsAggregate();
+
+            SharedValueManager svm = POITestCase.getFieldValue(RowRecordsAggregate.class, rra, SharedValueManager.class, "_sharedValueManager");
+            assertNull("Array record was not cleaned up properly.", svm.getArrayRecord(4, 1));
         }
-        return -1;
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFTextbox.java Fri Dec 27 23:00:13 2019
@@ -17,49 +17,55 @@
 
 package org.apache.poi.hssf.usermodel;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+
+import org.junit.Test;
 
 /**
  * Test <code>HSSFTextbox</code>.
- *
- * @author Yegor Kozlov (yegor at apache.org)
  */
-public final class TestHSSFTextbox extends TestCase{
+public final class TestHSSFTextbox {
 
     /**
      * Test that accessors to horizontal and vertical alignment work properly
      */
-    public void testAlignment() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sh1 = wb.createSheet();
-        HSSFPatriarch patriarch = sh1.createDrawingPatriarch();
-
-        HSSFTextbox textbox = patriarch.createTextbox(new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 6, 4));
-        HSSFRichTextString str = new HSSFRichTextString("Hello, World");
-        textbox.setString(str);
-        textbox.setHorizontalAlignment(HSSFTextbox.HORIZONTAL_ALIGNMENT_CENTERED);
-        textbox.setVerticalAlignment(HSSFTextbox.VERTICAL_ALIGNMENT_CENTER);
-
-        assertEquals(HSSFTextbox.HORIZONTAL_ALIGNMENT_CENTERED, textbox.getHorizontalAlignment());
-        assertEquals(HSSFTextbox.VERTICAL_ALIGNMENT_CENTER, textbox.getVerticalAlignment());
+    @Test
+    public void testAlignment() throws IOException {
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet sh1 = wb.createSheet();
+            HSSFPatriarch patriarch = sh1.createDrawingPatriarch();
+
+            HSSFTextbox textbox = patriarch.createTextbox(new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 6, 4));
+            HSSFRichTextString str = new HSSFRichTextString("Hello, World");
+            textbox.setString(str);
+            textbox.setHorizontalAlignment(HSSFTextbox.HORIZONTAL_ALIGNMENT_CENTERED);
+            textbox.setVerticalAlignment(HSSFTextbox.VERTICAL_ALIGNMENT_CENTER);
+
+            assertEquals(HSSFTextbox.HORIZONTAL_ALIGNMENT_CENTERED, textbox.getHorizontalAlignment());
+            assertEquals(HSSFTextbox.VERTICAL_ALIGNMENT_CENTER, textbox.getVerticalAlignment());
+        }
     }
 
     /**
      * Excel requires at least one format run in HSSFTextbox.
      * When inserting text make sure that if font is not set we must set the default one.
      */
-    public void testSetDeafultTextFormat() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet();
-        HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
-
-        HSSFTextbox textbox1 = patriarch.createTextbox(new HSSFClientAnchor(0,0,0,0,(short)1,1,(short)3,3));
-        HSSFRichTextString rt1 = new HSSFRichTextString("Hello, World!");
-        assertEquals(0, rt1.numFormattingRuns());
-        textbox1.setString(rt1);
-
-        HSSFRichTextString rt2 = textbox1.getString();
-        assertEquals(1, rt2.numFormattingRuns());
-        assertEquals(HSSFRichTextString.NO_FONT, rt2.getFontOfFormattingRun(0));
+    @Test
+    public void testSetDeafultTextFormat() throws IOException {
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet sheet = wb.createSheet();
+            HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+
+            HSSFTextbox textbox1 = patriarch.createTextbox(new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 3, 3));
+            HSSFRichTextString rt1 = new HSSFRichTextString("Hello, World!");
+            assertEquals(0, rt1.numFormattingRuns());
+            textbox1.setString(rt1);
+
+            HSSFRichTextString rt2 = textbox1.getString();
+            assertEquals(1, rt2.numFormattingRuns());
+            assertEquals(HSSFRichTextString.NO_FONT, rt2.getFontOfFormattingRun(0));
+        }
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java Fri Dec 27 23:00:13 2019
@@ -18,6 +18,7 @@
 package org.apache.poi.hssf.usermodel;
 
 import static org.apache.poi.POITestCase.assertContains;
+import static org.apache.poi.hssf.HSSFTestDataSamples.openSampleWorkbook;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -36,7 +37,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import junit.framework.AssertionFailedError;
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.ddf.EscherBSERecord;
 import org.apache.poi.hpsf.ClassID;
@@ -66,8 +66,6 @@ import org.apache.poi.ss.usermodel.Sheet
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.RecordFormatException;
 import org.apache.poi.util.TempFile;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -125,7 +123,7 @@ public final class TestHSSFWorkbook exte
         Sheet s;
 
         // Single chart, two sheets
-        HSSFWorkbook b1 = HSSFTestDataSamples.openSampleWorkbook("44010-SingleChart.xls");
+        HSSFWorkbook b1 = openSampleWorkbook("44010-SingleChart.xls");
         assertEquals(2, b1.getNumberOfSheets());
         assertEquals("Graph2", b1.getSheetName(1));
         s = b1.getSheetAt(1);
@@ -142,7 +140,7 @@ public final class TestHSSFWorkbook exte
         // We've now called getDrawingPatriarch() so
         //  everything will be all screwy
         // So, start again
-        HSSFWorkbook b2 = HSSFTestDataSamples.openSampleWorkbook("44010-SingleChart.xls");
+        HSSFWorkbook b2 = openSampleWorkbook("44010-SingleChart.xls");
 
         HSSFWorkbook b3 = HSSFTestDataSamples.writeOutAndReadBack(b2);
         b2.close();
@@ -154,7 +152,7 @@ public final class TestHSSFWorkbook exte
         b3.close();
 
         // Two charts, three sheets
-        HSSFWorkbook b4 = HSSFTestDataSamples.openSampleWorkbook("44010-TwoCharts.xls");
+        HSSFWorkbook b4 = openSampleWorkbook("44010-TwoCharts.xls");
         assertEquals(3, b4.getNumberOfSheets());
 
         s = b4.getSheetAt(1);
@@ -175,7 +173,7 @@ public final class TestHSSFWorkbook exte
         // We've now called getDrawingPatriarch() so
         //  everything will be all screwy
         // So, start again
-        HSSFWorkbook b5 = HSSFTestDataSamples.openSampleWorkbook("44010-TwoCharts.xls");
+        HSSFWorkbook b5 = openSampleWorkbook("44010-TwoCharts.xls");
 
         Workbook b6 = HSSFTestDataSamples.writeOutAndReadBack(b5);
         b5.close();
@@ -404,7 +402,7 @@ public final class TestHSSFWorkbook exte
      */
     @Test
     public void namesToDeleteSheets() throws IOException {
-        HSSFWorkbook b = HSSFTestDataSamples.openSampleWorkbook("30978-deleted.xls");
+        HSSFWorkbook b = openSampleWorkbook("30978-deleted.xls");
         assertEquals(3, b.getNumberOfNames());
 
         // Sheet 2 is deleted
@@ -515,13 +513,10 @@ public final class TestHSSFWorkbook exte
      * The sample file provided with bug 45582 seems to have one extra byte after the EOFRecord
      */
     @Test
-    public void extraDataAfterEOFRecord() {
-        try {
-            HSSFTestDataSamples.openSampleWorkbook("ex45582-22397.xls");
-        } catch (RecordFormatException e) {
-            if (e.getCause() instanceof LittleEndian.BufferUnderrunException) {
-                throw new AssertionFailedError("Identified bug 45582");
-            }
+    public void extraDataAfterEOFRecord() throws IOException {
+        // bug 45582 - RecordFormatException - getCause() instanceof LittleEndian.BufferUnderrunException
+        try (HSSFWorkbook wb = openSampleWorkbook("ex45582-22397.xls")) {
+            assertNotNull(wb);
         }
     }
 
@@ -533,7 +528,7 @@ public final class TestHSSFWorkbook exte
     public void findBuiltInNameRecord() throws IOException {
         // testRRaC has multiple (3) built-in name records
         // The second print titles name record has getSheetNumber()==4
-        HSSFWorkbook wb1 = HSSFTestDataSamples.openSampleWorkbook("testRRaC.xls");
+        HSSFWorkbook wb1 = openSampleWorkbook("testRRaC.xls");
         NameRecord nr;
         assertEquals(3, wb1.getWorkbook().getNumNames());
         nr = wb1.getWorkbook().getNameRecord(2);
@@ -793,7 +788,7 @@ public final class TestHSSFWorkbook exte
 
     @Test
     public void clonePictures() throws IOException {
-        HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("SimpleWithImages.xls");
+        HSSFWorkbook wb = openSampleWorkbook("SimpleWithImages.xls");
         InternalWorkbook iwb = wb.getWorkbook();
         iwb.findDrawingGroup();
 
@@ -937,7 +932,7 @@ public final class TestHSSFWorkbook exte
 
     @Test
 	public void bug50298() throws Exception {
-		HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("50298.xls");
+		HSSFWorkbook wb = openSampleWorkbook("50298.xls");
 
 		assertSheetOrder(wb, "Invoice", "Invoice1", "Digest", "Deferred", "Received");
 
@@ -972,7 +967,7 @@ public final class TestHSSFWorkbook exte
 
     @Test
 	public void bug50298a() throws Exception {
-		HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("50298.xls");
+		HSSFWorkbook wb = openSampleWorkbook("50298.xls");
 
 		assertSheetOrder(wb, "Invoice", "Invoice1", "Digest", "Deferred", "Received");
 
@@ -1017,7 +1012,7 @@ public final class TestHSSFWorkbook exte
 	public void bug54500() throws Exception {
 		String nameName = "AName";
 		String sheetName = "ASheet";
-		HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("54500.xls");
+		HSSFWorkbook wb = openSampleWorkbook("54500.xls");
 
 		assertSheetOrder(wb, "Sheet1", "Sheet2", "Sheet3");
 
@@ -1071,7 +1066,7 @@ public final class TestHSSFWorkbook exte
 	@Test
 	public void test49423() throws Exception
     {
-		HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("49423.xls");
+		HSSFWorkbook workbook = openSampleWorkbook("49423.xls");
 
 		boolean found = false;
         int numSheets = workbook.getNumberOfSheets();

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestMatrixFormulasFromBinarySpreadsheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestMatrixFormulasFromBinarySpreadsheet.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestMatrixFormulasFromBinarySpreadsheet.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestMatrixFormulasFromBinarySpreadsheet.java Fri Dec 27 23:00:13 2019
@@ -45,8 +45,6 @@ import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameter;
 import org.junit.runners.Parameterized.Parameters;
 
-import junit.framework.AssertionFailedError;
-
 @RunWith(Parameterized.class)
 public final class TestMatrixFormulasFromBinarySpreadsheet {
 
@@ -57,16 +55,16 @@ public final class TestMatrixFormulasFro
     private static Sheet sheet;
     private static FormulaEvaluator evaluator;
     private static Locale userLocale;
-    
+
     /*
      * Unlike TestFormulaFromSpreadsheet which this class is modified from, there is no
      * differentiation between operators and functions, if more functionality is implemented with
      * array formulas then it might be worth it to separate operators from functions
-     * 
+     *
      * Also, output matrices are statically 3x3, if larger matrices wanted to be tested
      * then adding matrix size parameter would be useful and parsing would be based off that.
      */
-    
+
     private static interface Navigator {
         /**
          * Name of the test spreadsheet (found in the standard test data folder)
@@ -96,21 +94,21 @@ public final class TestMatrixFormulasFro
          * Used to indicate when there are no more operations left
          */
         String END_OF_TESTS = "<END>";
-        
+
     }
-    
+
     /* Parameters for test case */
     @Parameter(0)
     public String targetFunctionName;
     @Parameter(1)
     public int formulasRowIdx;
-    
+
     @AfterClass
     public static void closeResource() throws Exception {
         LocaleUtil.setUserLocale(userLocale);
         workbook.close();
     }
-    
+
     /* generating parameter instances */
     @Parameters(name="{0}")
     public static Collection<Object[]> data() throws Exception {
@@ -119,18 +117,18 @@ public final class TestMatrixFormulasFro
         // already set, when we would try to change the locale by then
         userLocale = LocaleUtil.getUserLocale();
         LocaleUtil.setUserLocale(Locale.ROOT);
-        
+
         workbook = HSSFTestDataSamples.openSampleWorkbook(Navigator.FILENAME);
         sheet = workbook.getSheetAt(0);
         evaluator = new HSSFFormulaEvaluator(workbook);
-        
+
         List<Object[]> data = new ArrayList<Object[]>();
-        
+
         processFunctionGroup(data, Navigator.START_OPERATORS_ROW_INDEX, null);
-        
+
         return data;
     }
-    
+
     /**
      * @param startRowIndex row index in the spreadsheet where the first function/operator is found
      * @param testFocusFunctionName name of a single function/operator to test alone.
@@ -152,7 +150,7 @@ public final class TestMatrixFormulasFro
             }
         }
     }
-    
+
     @Test
     public void processFunctionRow() {
 
@@ -161,27 +159,27 @@ public final class TestMatrixFormulasFro
        for (int rowNum = formulasRowIdx; rowNum < formulasRowIdx + Navigator.ROW_OFF_NEXT_OP - 1; rowNum++) {
            for (int colNum = Navigator.START_RESULT_COL_INDEX; colNum < endColNum; colNum++) {
                Row r = sheet.getRow(rowNum);
-               
+
                /* mainly to escape row failures on MDETERM which only returns a scalar */
                if (r == null) {
                    continue;
                }
-               
+
                Cell c = sheet.getRow(rowNum).getCell(colNum);
-               
+
                if (c == null || c.getCellType() != CellType.FORMULA) {
                    continue;
                }
-    
+
                CellValue actValue = evaluator.evaluate(c);
                Cell expValue = sheet.getRow(rowNum).getCell(colNum + Navigator.COL_OFF_EXPECTED_RESULT);
-    
+
                String msg = String.format(Locale.ROOT, "Function '%s': Formula: %s @ %d:%d"
                        , targetFunctionName, c.getCellFormula(), rowNum, colNum);
-    
+
                assertNotNull(msg + " - Bad setup data expected value is null", expValue);
                assertNotNull(msg + " - actual value was null", actValue);
-    
+
                final CellType cellType = expValue.getCellType();
                switch (cellType) {
                    case BLANK:
@@ -211,7 +209,7 @@ public final class TestMatrixFormulasFro
            }
        }
    }
-    
+
     /**
      * @return <code>null</code> if cell is missing, empty or blank
      */
@@ -235,13 +233,13 @@ public final class TestMatrixFormulasFro
             return cell.getRichStringCellValue().getString();
         }
 
-        throw new AssertionFailedError("Bad cell type for 'function name' column: ("
-                + cell.getCellType() + ") row (" + (r.getRowNum() +1) + ")");
+        fail("Bad cell type for 'function name' column: (" + cell.getCellType() + ") row (" + (r.getRowNum() +1) + ")");
+        return "";
     }
-    
-    
-    
-    
-    
+
+
+
+
+
 
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestPatriarch.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestPatriarch.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestPatriarch.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestPatriarch.java Fri Dec 27 23:00:13 2019
@@ -17,17 +17,18 @@
 
 package org.apache.poi.hssf.usermodel;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 import org.apache.poi.ddf.EscherDgRecord;
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.record.EscherAggregate;
+import org.junit.Test;
 
-/**
- * @author Evgeniy Berlog
- * @date 01.08.12
- */
-public class TestPatriarch extends TestCase {
-
+public class TestPatriarch {
+    @Test
     public void testGetPatriarch(){
         HSSFWorkbook wb = new HSSFWorkbook();
         HSSFSheet sh = wb.createSheet();
@@ -43,15 +44,17 @@ public class TestPatriarch extends TestC
         EscherAggregate agg = patriarch.getBoundAggregate();
 
         EscherDgRecord dg = agg.getEscherContainer().getChildById(EscherDgRecord.RECORD_ID);
+        assertNotNull(dg);
         int lastId = dg.getLastMSOSPID();
-        
+
         assertSame(patriarch, sh.createDrawingPatriarch());
-        
+
         wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
         sh = wb.getSheetAt(0);
         patriarch = sh.createDrawingPatriarch();
         dg = patriarch.getBoundAggregate().getEscherContainer().getChildById(EscherDgRecord.RECORD_ID);
 
+        assertNotNull(dg);
         assertEquals(lastId, dg.getLastMSOSPID());
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestRowStyle.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestRowStyle.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestRowStyle.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestRowStyle.java Fri Dec 27 23:00:13 2019
@@ -14,22 +14,23 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
+
 package org.apache.poi.hssf.usermodel;
 
-import org.apache.poi.hssf.HSSFTestDataSamples;
+import static org.apache.poi.hssf.HSSFTestDataSamples.writeOutAndReadBack;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+
 import org.apache.poi.ss.usermodel.BorderStyle;
 import org.apache.poi.ss.usermodel.FillPatternType;
-import org.apache.poi.util.IOUtils;
-
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  * Class to test row styling functionality
- *
- * @author Amol S. Deshmukh &lt; amolweb at ya hoo dot com &gt;
  */
-public final class TestRowStyle extends TestCase {
+public final class TestRowStyle {
 
     /**
      * TEST NAME:  Test Write Sheet Font <P>
@@ -39,62 +40,60 @@ public final class TestRowStyle extends
      * FAILURE:    HSSF does not create a sheet or excepts.  Filesize does not match the known good.
      *             HSSFSheet last row or first row is incorrect.             <P>
      */
-    public void testWriteSheetFont() {
-        HSSFWorkbook     wb   = new HSSFWorkbook();
-        HSSFSheet        s    = wb.createSheet();
-        HSSFRow          r    = null;
-        HSSFFont         fnt  = wb.createFont();
-        HSSFCellStyle    cs   = wb.createCellStyle();
-
-        fnt.setColor(HSSFFont.COLOR_RED);
-        fnt.setBold(true);
-        cs.setFont(fnt);
-        for (int rownum = 0; rownum < 100; rownum++)
-        {
-            r = s.createRow(rownum);
-            r.setRowStyle(cs);
-            r.createCell(0);
+    @Test
+    public void testWriteSheetFont() throws IOException {
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet s = wb.createSheet();
+            HSSFFont fnt = wb.createFont();
+            HSSFCellStyle cs = wb.createCellStyle();
+
+            fnt.setColor(HSSFFont.COLOR_RED);
+            fnt.setBold(true);
+            cs.setFont(fnt);
+            for (int rownum = 0; rownum < 100; rownum++) {
+                HSSFRow r = s.createRow(rownum);
+                r.setRowStyle(cs);
+                r.createCell(0);
+            }
+            try (HSSFWorkbook wb2 = writeOutAndReadBack(wb)) {
+                SanityChecker sanityChecker = new SanityChecker();
+                sanityChecker.checkHSSFWorkbook(wb2);
+                assertEquals("LAST ROW == 99", 99, s.getLastRowNum());
+                assertEquals("FIRST ROW == 0", 0, s.getFirstRowNum());
+            }
         }
-        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        IOUtils.closeQuietly(wb);
-        		
-        SanityChecker sanityChecker = new SanityChecker();
-        sanityChecker.checkHSSFWorkbook(wb2);
-        assertEquals("LAST ROW == 99", 99, s.getLastRowNum());
-        assertEquals("FIRST ROW == 0", 0, s.getFirstRowNum());
-        IOUtils.closeQuietly(wb2);
     }
 
     /**
      * Tests that is creating a file with a date or an calendar works correctly.
      */
-    public void testDataStyle() {
-        HSSFWorkbook     wb   = new HSSFWorkbook();
-        HSSFSheet        s    = wb.createSheet();
-        HSSFCellStyle    cs   = wb.createCellStyle();
-        HSSFRow row = s.createRow(0);
-
-        // with Date:
-        cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
-        row.setRowStyle(cs);
-        row.createCell(0);
-
-
-        // with Calendar:
-        row = s.createRow(1);
-        cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
-        row.setRowStyle(cs);
-        row.createCell(0);
-
-        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        IOUtils.closeQuietly(wb);
-        
-        SanityChecker sanityChecker = new SanityChecker();
-        sanityChecker.checkHSSFWorkbook(wb2);
-
-        assertEquals("LAST ROW ", 1, s.getLastRowNum());
-        assertEquals("FIRST ROW ", 0, s.getFirstRowNum());
-        IOUtils.closeQuietly(wb2);
+    @Test
+    public void testDataStyle() throws IOException {
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet s = wb.createSheet();
+            HSSFCellStyle cs = wb.createCellStyle();
+            HSSFRow row = s.createRow(0);
+
+            // with Date:
+            cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
+            row.setRowStyle(cs);
+            row.createCell(0);
+
+
+            // with Calendar:
+            row = s.createRow(1);
+            cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
+            row.setRowStyle(cs);
+            row.createCell(0);
+
+            try (HSSFWorkbook wb2 = writeOutAndReadBack(wb)) {
+                SanityChecker sanityChecker = new SanityChecker();
+                sanityChecker.checkHSSFWorkbook(wb2);
+
+                assertEquals("LAST ROW ", 1, s.getLastRowNum());
+                assertEquals("FIRST ROW ", 0, s.getFirstRowNum());
+            }
+        }
     }
 
     /**
@@ -106,71 +105,71 @@ public final class TestRowStyle extends
      * FAILURE:    HSSF does not create a sheet or excepts.  Filesize does not match the known good.
      *             HSSFSheet last row or first row is incorrect.             <P>
      */
-    public void testWriteSheetStyle() {
-        HSSFWorkbook     wb   = new HSSFWorkbook();
-        HSSFSheet        s    = wb.createSheet();
-        HSSFRow          r    = null;
-        HSSFFont         fnt  = wb.createFont();
-        HSSFCellStyle    cs   = wb.createCellStyle();
-        HSSFCellStyle    cs2  = wb.createCellStyle();
-
-        cs.setBorderBottom(BorderStyle.THIN);
-        cs.setBorderLeft(BorderStyle.THIN);
-        cs.setBorderRight(BorderStyle.THIN);
-        cs.setBorderTop(BorderStyle.THIN);
-        cs.setFillForegroundColor(( short ) 0xA);
-        cs.setFillPattern(FillPatternType.BRICKS);
-        fnt.setColor(( short ) 0xf);
-        fnt.setItalic(true);
-        cs2.setFillForegroundColor(( short ) 0x0);
-        cs2.setFillPattern(FillPatternType.BRICKS);
-        cs2.setFont(fnt);
-        for (int rownum = 0; rownum < 100; rownum++)
-        {
-            r = s.createRow(rownum);
-            r.setRowStyle(cs);
-            r.createCell(0);
-
-            rownum++;
-            if (rownum >= 100) break; // I feel too lazy to check if this isreqd :-/ 
-            
-            r = s.createRow(rownum);
-            r.setRowStyle(cs2);
-            r.createCell(0);
-        }
-        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        IOUtils.closeQuietly(wb);
-        
-        SanityChecker sanityChecker = new SanityChecker();
-        sanityChecker.checkHSSFWorkbook(wb2);
-        assertEquals("LAST ROW == 99", 99, s.getLastRowNum());
-        assertEquals("FIRST ROW == 0", 0, s.getFirstRowNum());
-        
-        s    = wb2.getSheetAt(0);
-        assertNotNull("Sheet is not null", s);
-        
-        for (int rownum = 0; rownum < 100; rownum++)
-        {
-            r = s.getRow(rownum);
-            assertNotNull("Row is not null", r);
-            
-            cs = r.getRowStyle();
-            assertEquals("Bottom Border Style for row:", BorderStyle.THIN, cs.getBorderBottom());
-            assertEquals("Left Border Style for row:",   BorderStyle.THIN, cs.getBorderLeft());
-            assertEquals("Right Border Style for row:",  BorderStyle.THIN, cs.getBorderRight());
-            assertEquals("Top Border Style for row:",    BorderStyle.THIN, cs.getBorderTop());
-            assertEquals("FillForegroundColor for row:", 0xA, cs.getFillForegroundColor());
-            assertEquals("FillPattern for row:",         FillPatternType.BRICKS, cs.getFillPattern());
-            
-            rownum++;
-            if (rownum >= 100) break; // I feel too lazy to check if this isreqd :-/ 
-            
-            r = s.getRow(rownum);
-            assertNotNull("Row is not null", r);
-            cs2 = r.getRowStyle();
-            assertEquals("FillForegroundColor for row: ", cs2.getFillForegroundColor(), (short) 0x0);
-            assertEquals("FillPattern for row: ", cs2.getFillPattern(), FillPatternType.BRICKS);
+    @Test
+    public void testWriteSheetStyle() throws IOException {
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet s = wb.createSheet();
+            HSSFRow r = null;
+            HSSFFont fnt = wb.createFont();
+            HSSFCellStyle cs = wb.createCellStyle();
+            HSSFCellStyle cs2 = wb.createCellStyle();
+
+            cs.setBorderBottom(BorderStyle.THIN);
+            cs.setBorderLeft(BorderStyle.THIN);
+            cs.setBorderRight(BorderStyle.THIN);
+            cs.setBorderTop(BorderStyle.THIN);
+            cs.setFillForegroundColor((short) 0xA);
+            cs.setFillPattern(FillPatternType.BRICKS);
+            fnt.setColor((short) 0xf);
+            fnt.setItalic(true);
+            cs2.setFillForegroundColor((short) 0x0);
+            cs2.setFillPattern(FillPatternType.BRICKS);
+            cs2.setFont(fnt);
+            for (int rownum = 0; rownum < 100; rownum++) {
+                r = s.createRow(rownum);
+                r.setRowStyle(cs);
+                r.createCell(0);
+
+                rownum++;
+                if (rownum >= 100) break; // I feel too lazy to check if this isreqd :-/
+
+                r = s.createRow(rownum);
+                r.setRowStyle(cs2);
+                r.createCell(0);
+            }
+            try (HSSFWorkbook wb2 = writeOutAndReadBack(wb)) {
+                SanityChecker sanityChecker = new SanityChecker();
+                sanityChecker.checkHSSFWorkbook(wb2);
+                assertEquals("LAST ROW == 99", 99, s.getLastRowNum());
+                assertEquals("FIRST ROW == 0", 0, s.getFirstRowNum());
+
+                s = wb2.getSheetAt(0);
+                assertNotNull("Sheet is not null", s);
+
+                for (int rownum = 0; rownum < 100; rownum++) {
+                    r = s.getRow(rownum);
+                    assertNotNull("Row is not null", r);
+
+                    cs = r.getRowStyle();
+                    assertNotNull(cs);
+                    assertEquals("Bottom Border Style for row:", BorderStyle.THIN, cs.getBorderBottom());
+                    assertEquals("Left Border Style for row:", BorderStyle.THIN, cs.getBorderLeft());
+                    assertEquals("Right Border Style for row:", BorderStyle.THIN, cs.getBorderRight());
+                    assertEquals("Top Border Style for row:", BorderStyle.THIN, cs.getBorderTop());
+                    assertEquals("FillForegroundColor for row:", 0xA, cs.getFillForegroundColor());
+                    assertEquals("FillPattern for row:", FillPatternType.BRICKS, cs.getFillPattern());
+
+                    rownum++;
+                    if (rownum >= 100) break; // I feel too lazy to check if this isreqd :-/
+
+                    r = s.getRow(rownum);
+                    assertNotNull("Row is not null", r);
+                    cs2 = r.getRowStyle();
+                    assertNotNull(cs2);
+                    assertEquals("FillForegroundColor for row: ", cs2.getFillForegroundColor(), (short) 0x0);
+                    assertEquals("FillPattern for row: ", cs2.getFillPattern(), FillPatternType.BRICKS);
+                }
+            }
         }
-        IOUtils.closeQuietly(wb2);
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnicodeWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnicodeWorkbook.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnicodeWorkbook.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnicodeWorkbook.java Fri Dec 27 23:00:13 2019
@@ -17,36 +17,44 @@
 
 package org.apache.poi.hssf.usermodel;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+
 import org.apache.poi.hssf.HSSFTestDataSamples;
+import org.junit.Test;
 
-public final class TestUnicodeWorkbook extends TestCase {
+public final class TestUnicodeWorkbook {
 
     /**
      *  Tests Bug38230
      *  That a Umlat is written  and then read back.
      *  It should have been written as a compressed unicode.
      */
-    public void testUmlatReadWrite() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-
-        //Create a unicode sheet name (euro symbol)
-        HSSFSheet s = wb.createSheet("test");
-
-        HSSFRow r = s.createRow(0);
-        HSSFCell c = r.createCell(1);
-        c.setCellValue(new HSSFRichTextString("\u00e4"));
-
-        //Confirm that the sring will be compressed
-        assertEquals(c.getRichStringCellValue().getUnicodeString().getOptionFlags(), 0);
-
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-
-        //Test the sheetname
-        s = wb.getSheet("test");
-        assertNotNull(s);
-
-        c = r.getCell(1);
-        assertEquals(c.getRichStringCellValue().getString(), "\u00e4");
+    @Test
+    public void testUmlatReadWrite() throws IOException {
+        try (HSSFWorkbook wb1 = new HSSFWorkbook()) {
+
+            //Create a unicode sheet name (euro symbol)
+            HSSFSheet s = wb1.createSheet("test");
+
+            HSSFRow r = s.createRow(0);
+            HSSFCell c = r.createCell(1);
+            c.setCellValue(new HSSFRichTextString("\u00e4"));
+
+            //Confirm that the sring will be compressed
+            assertEquals(c.getRichStringCellValue().getUnicodeString().getOptionFlags(), 0);
+
+            try (HSSFWorkbook wb = HSSFTestDataSamples.writeOutAndReadBack(wb1)) {
+
+                //Test the sheetname
+                s = wb.getSheet("test");
+                assertNotNull(s);
+
+                c = r.getCell(1);
+                assertEquals(c.getRichStringCellValue().getString(), "\u00e4");
+            }
+        }
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/util/TestAreaReference.java Fri Dec 27 23:00:13 2019
@@ -17,19 +17,19 @@
 
 package org.apache.poi.hssf.util;
 
-import java.io.InputStream;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
-import junit.framework.TestCase;
+import java.io.InputStream;
 
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.model.HSSFFormulaParser;
 import org.apache.poi.hssf.model.InternalWorkbook;
 import org.apache.poi.hssf.record.NameRecord;
-import org.apache.poi.ss.SpreadsheetVersion;
-import org.apache.poi.ss.formula.ptg.Area3DPtg;
-import org.apache.poi.ss.formula.ptg.MemFuncPtg;
-import org.apache.poi.ss.formula.ptg.Ptg;
-import org.apache.poi.ss.formula.ptg.UnionPtg;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook;
 import org.apache.poi.hssf.usermodel.HSSFName;
@@ -37,11 +37,18 @@ import org.apache.poi.hssf.usermodel.HSS
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.hssf.usermodel.TestHSSFWorkbook;
+import org.apache.poi.ss.SpreadsheetVersion;
+import org.apache.poi.ss.formula.ptg.Area3DPtg;
+import org.apache.poi.ss.formula.ptg.MemFuncPtg;
+import org.apache.poi.ss.formula.ptg.Ptg;
+import org.apache.poi.ss.formula.ptg.UnionPtg;
 import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.ss.util.CellReference;
+import org.junit.Test;
 
-public final class TestAreaReference extends TestCase {
+public final class TestAreaReference {
 
+    @Test
     public void testAreaRef1() {
         AreaReference ar = new AreaReference("$A$1:$B$2", SpreadsheetVersion.EXCEL97);
         assertFalse("Two cells expected", ar.isSingleCell());
@@ -83,6 +90,7 @@ public final class TestAreaReference ext
      * References failed when sheet names were being used
      * Reported by Arne.Clauss@gedas.de
      */
+    @Test
     public void testReferenceWithSheet() {
         AreaReference ar;
 
@@ -107,6 +115,7 @@ public final class TestAreaReference ext
         TestCellReference.confirmCell(allCells[2], "Tabelle1", 6, 1, true, true, "Tabelle1!$B$7");
     }
 
+    @Test
     public void testContiguousReferences() {
         String refSimple = "$C$10:$C$10";
         String ref2D = "$C$10:$D$11";
@@ -186,69 +195,72 @@ public final class TestAreaReference ext
         assertEquals("Tabelle1", refs[1].getLastCell().getSheetName());
     }
 
+    @Test
     public void testDiscontinousReference() throws Exception {
-        InputStream is = HSSFTestDataSamples.openSampleFileStream("44167.xls");
-        HSSFWorkbook wb = new HSSFWorkbook(is);
-        InternalWorkbook workbook = TestHSSFWorkbook.getInternalWorkbook(wb);
-        HSSFEvaluationWorkbook eb = HSSFEvaluationWorkbook.create(wb);
-
-        assertEquals(1, wb.getNumberOfNames());
-        String sheetName = "Tabelle1";
-        String rawRefA = "$C$10:$C$14";
-        String rawRefB = "$C$16:$C$18";
-        String refA = sheetName + "!" + rawRefA;
-        String refB = sheetName + "!" + rawRefB;
-        String ref = refA + "," + refB;
-
-        // Check the low level record
-        NameRecord nr = workbook.getNameRecord(0);
-        assertNotNull(nr);
-        assertEquals("test", nr.getNameText());
-
-        Ptg[] def =nr.getNameDefinition();
-        assertEquals(4, def.length);
-
-        MemFuncPtg ptgA = (MemFuncPtg)def[0];
-        Area3DPtg ptgB = (Area3DPtg)def[1];
-        Area3DPtg ptgC = (Area3DPtg)def[2];
-        UnionPtg ptgD = (UnionPtg)def[3];
-        assertEquals("", ptgA.toFormulaString());
-        assertEquals(refA, ptgB.toFormulaString(eb));
-        assertEquals(refB, ptgC.toFormulaString(eb));
-        assertEquals(",", ptgD.toFormulaString());
-
-        assertEquals(ref, HSSFFormulaParser.toFormulaString(wb, nr.getNameDefinition()));
-
-        // Check the high level definition
-        int idx = wb.getNameIndex("test");
-        assertEquals(0, idx);
-        HSSFName aNamedCell = wb.getNameAt(idx);
-
-        // Should have 2 references
-        String formulaRefs = aNamedCell.getRefersToFormula();
-        assertNotNull(formulaRefs);
-        assertEquals(ref, formulaRefs);
-
-        // Check the parsing of the reference into cells
-        assertFalse(AreaReference.isContiguous(formulaRefs));
-        AreaReference[] arefs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, formulaRefs);
-        assertEquals(2, arefs.length);
-        assertEquals(refA, arefs[0].formatAsString());
-        assertEquals(refB, arefs[1].formatAsString());
-
-        for (AreaReference ar : arefs) {
-            confirmResolveCellRef(wb, ar.getFirstCell());
-            confirmResolveCellRef(wb, ar.getLastCell());
+        try (InputStream is = HSSFTestDataSamples.openSampleFileStream("44167.xls");
+            HSSFWorkbook wb = new HSSFWorkbook(is)) {
+            InternalWorkbook workbook = TestHSSFWorkbook.getInternalWorkbook(wb);
+            HSSFEvaluationWorkbook eb = HSSFEvaluationWorkbook.create(wb);
+
+            assertEquals(1, wb.getNumberOfNames());
+            String sheetName = "Tabelle1";
+            String rawRefA = "$C$10:$C$14";
+            String rawRefB = "$C$16:$C$18";
+            String refA = sheetName + "!" + rawRefA;
+            String refB = sheetName + "!" + rawRefB;
+            String ref = refA + "," + refB;
+
+            // Check the low level record
+            NameRecord nr = workbook.getNameRecord(0);
+            assertNotNull(nr);
+            assertEquals("test", nr.getNameText());
+
+            Ptg[] def = nr.getNameDefinition();
+            assertEquals(4, def.length);
+
+            MemFuncPtg ptgA = (MemFuncPtg) def[0];
+            Area3DPtg ptgB = (Area3DPtg) def[1];
+            Area3DPtg ptgC = (Area3DPtg) def[2];
+            UnionPtg ptgD = (UnionPtg) def[3];
+            assertEquals("", ptgA.toFormulaString());
+            assertEquals(refA, ptgB.toFormulaString(eb));
+            assertEquals(refB, ptgC.toFormulaString(eb));
+            assertEquals(",", ptgD.toFormulaString());
+
+            assertEquals(ref, HSSFFormulaParser.toFormulaString(wb, nr.getNameDefinition()));
+
+            // Check the high level definition
+            int idx = wb.getNameIndex("test");
+            assertEquals(0, idx);
+            HSSFName aNamedCell = wb.getNameAt(idx);
+
+            // Should have 2 references
+            String formulaRefs = aNamedCell.getRefersToFormula();
+            assertNotNull(formulaRefs);
+            assertEquals(ref, formulaRefs);
+
+            // Check the parsing of the reference into cells
+            assertFalse(AreaReference.isContiguous(formulaRefs));
+            AreaReference[] arefs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, formulaRefs);
+            assertEquals(2, arefs.length);
+            assertEquals(refA, arefs[0].formatAsString());
+            assertEquals(refB, arefs[1].formatAsString());
+
+            for (AreaReference ar : arefs) {
+                confirmResolveCellRef(wb, ar.getFirstCell());
+                confirmResolveCellRef(wb, ar.getLastCell());
+            }
         }
     }
 
     private static void confirmResolveCellRef(HSSFWorkbook wb, CellReference cref) {
         HSSFSheet s = wb.getSheet(cref.getSheetName());
         HSSFRow r = s.getRow(cref.getRow());
-        HSSFCell c = r.getCell((int)cref.getCol());
+        HSSFCell c = r.getCell(cref.getCol());
         assertNotNull(c);
     }
 
+    @Test
     public void testSpecialSheetNames() {
         AreaReference ar;
         ar = new AreaReference("'Sheet A'!A1:A1", SpreadsheetVersion.EXCEL97);
@@ -270,20 +282,20 @@ public final class TestAreaReference ext
         assertEquals(expectedFullText, ar.formatAsString());
     }
 
+    @Test
     public void testWholeColumnRefs() {
         confirmWholeColumnRef("A:A", 0, 0, false, false);
         confirmWholeColumnRef("$C:D", 2, 3, true, false);
         confirmWholeColumnRef("AD:$AE", 29, 30, false, true);
     }
-    
+
     private static void confirmWholeColumnRef(String ref, int firstCol, int lastCol, boolean firstIsAbs, boolean lastIsAbs) {
         AreaReference ar = new AreaReference(ref, SpreadsheetVersion.EXCEL97);
         confirmCell(ar.getFirstCell(), 0, firstCol, true, firstIsAbs);
         confirmCell(ar.getLastCell(), 0xFFFF, lastCol, true, lastIsAbs);
     }
 
-    private static void confirmCell(CellReference cell, int row, int col, boolean isRowAbs,
-            boolean isColAbs) {
+    private static void confirmCell(CellReference cell, int row, int col, boolean isRowAbs, boolean isColAbs) {
         assertEquals(row, cell.getRow());
         assertEquals(col, cell.getCol());
         assertEquals(isRowAbs, cell.isRowAbsolute());

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/util/TestRKUtil.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/util/TestRKUtil.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/util/TestRKUtil.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/util/TestRKUtil.java Fri Dec 27 23:00:13 2019
@@ -17,24 +17,26 @@
 
 package org.apache.poi.hssf.util;
 
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
 
 /**
  * Tests the {@link RKUtil} class.
  */
-public final class TestRKUtil extends TestCase {
+public final class TestRKUtil {
 
 	/**
 	 * Check we can decode correctly.
 	 */
+	@Test
 	public void testDecode() {
 
-		int[] values = { 1074266112, 1081384961, 1081397249, 
+		int[] values = { 1074266112, 1081384961, 1081397249,
 				0x3FF00000, 0x405EC001, 0x02F1853A, 0x02F1853B, 0xFCDD699A,
 		};
 		double[] rvalues = { 3.0, 3.3, 3.33,
-				1, 1.23, 12345678, 123456.78, -13149594, 
+				1, 1.23, 12345678, 123456.78, -13149594,
 		};
 
 		for (int j = 0; j < values.length; j++) {
@@ -42,10 +44,7 @@ public final class TestRKUtil extends Te
 			int intBits = values[j];
 			double expectedValue = rvalues[j];
 			double actualValue = RKUtil.decodeNumber(intBits);
-			if (expectedValue != actualValue) {
-				throw new AssertionFailedError("0x" + Integer.toHexString(intBits)
-						+ " should decode to " + expectedValue + " but got " + actualValue);
-			}
+			assertEquals(expectedValue, actualValue, 0);
 		}
 	}
 }

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestBiff8DecryptingStream.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestBiff8DecryptingStream.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestBiff8DecryptingStream.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/crypt/TestBiff8DecryptingStream.java Fri Dec 27 23:00:13 2019
@@ -17,11 +17,11 @@
 
 package org.apache.poi.poifs.crypt;
 
+import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 
 import java.io.InputStream;
-import java.util.Arrays;
 
 import javax.crypto.spec.SecretKeySpec;
 
@@ -30,9 +30,6 @@ import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
 import org.junit.Test;
 
-import junit.framework.AssertionFailedError;
-import junit.framework.ComparisonFailure;
-
 /**
  * Tests for {@link Biff8DecryptingStream}
  */
@@ -58,25 +55,19 @@ public final class TestBiff8DecryptingSt
 	}
 
 	private static final class StreamTester {
-		private static final boolean ONLY_LOG_ERRORS = true;
-
-		private final MockStream _ms;
 		private final Biff8DecryptingStream _bds;
-		private boolean _errorsOccurred;
 
 		/**
 		 * @param expectedFirstInt expected value of the first int read from the decrypted stream
 		 */
 		public StreamTester(MockStream ms, String keyDigestHex, int expectedFirstInt) {
-			_ms = ms;
 			byte[] keyDigest = HexRead.readFromString(keyDigestHex);
 			EncryptionInfo ei = new EncryptionInfo(EncryptionMode.binaryRC4);
 			Decryptor dec = ei.getDecryptor();
 			dec.setSecretKey(new SecretKeySpec(keyDigest, "RC4"));
-			
-			_bds = new Biff8DecryptingStream(_ms, 0, ei);
+
+			_bds = new Biff8DecryptingStream(ms, 0, ei);
 			assertEquals(expectedFirstInt, _bds.readInt());
-			_errorsOccurred = false;
 		}
 
 		public Biff8DecryptingStream getBDS() {
@@ -106,7 +97,7 @@ public final class TestBiff8DecryptingSt
         public void confirmUShort(int expVal) {
             assertEquals(HexDump.shortToHex(expVal), HexDump.shortToHex(_bds.readUShort()));
         }
-        
+
         public short readShort() {
             return _bds.readShort();
         }
@@ -122,32 +113,13 @@ public final class TestBiff8DecryptingSt
 		public void confirmLong(long expVal) {
 		    assertEquals(HexDump.longToHex(expVal), HexDump.longToHex(_bds.readLong()));
 		}
-		
+
 		public void confirmData(String expHexData) {
 
 			byte[] expData = HexRead.readFromString(expHexData);
 			byte[] actData = new byte[expData.length];
 			_bds.readFully(actData);
-			if (Arrays.equals(expData, actData)) {
-				return;
-			}
-			_errorsOccurred = true;
-			if (ONLY_LOG_ERRORS) {
-				logErr(2, "Data mismatch " + HexDump.toHex(expData) + " - "
-						+ HexDump.toHex(actData));
-				return;
-			}
-			throw new ComparisonFailure("Data mismatch", HexDump.toHex(expData), HexDump.toHex(actData));
-		}
-
-		private static void logErr(int stackFrameCount, String msg) {
-			StackTraceElement ste = new Exception().getStackTrace()[stackFrameCount];
-			System.err.print("(" + ste.getFileName() + ":" + ste.getLineNumber() + ") ");
-			System.err.println(msg);
-		}
-
-		public void assertNoErrors() {
-			assertFalse("Some values decrypted incorrectly", _errorsOccurred);
+			assertArrayEquals("Data mismatch", expData, actData);
 		}
 	}
 
@@ -156,7 +128,7 @@ public final class TestBiff8DecryptingSt
 	 */
 	@Test
 	public void readsAlignedWithBoundary() {
-		StreamTester st = createStreamTester(0x50, "BA AD F0 0D 00", 0x96C66829);
+		StreamTester st = createStreamTester();
 
 		st.rollForward(0x0004, 0x03FF);
 		st.confirmByte(0x3E);
@@ -179,7 +151,6 @@ public final class TestBiff8DecryptingSt
         assertEquals(0xFFFF, st.readUShort());
         st.rollForward(0x37D9B, 0x4A6F2);
         assertEquals(-1, st.readShort());
-		st.assertNoErrors();
 	}
 
 	/**
@@ -187,7 +158,7 @@ public final class TestBiff8DecryptingSt
 	 */
     @Test
 	public void readsSpanningBoundary() {
-		StreamTester st = createStreamTester(0x50, "BA AD F0 0D 00", 0x96C66829);
+		StreamTester st = createStreamTester();
 
 		st.rollForward(0x0004, 0x03FC);
 		st.confirmLong(0x885243283E2A5EEFL);
@@ -195,7 +166,6 @@ public final class TestBiff8DecryptingSt
 		st.confirmInt(0xD83E76CC);
 		st.rollForward(0x0802, 0x0BFF);
 		st.confirmShort(0x9B25);
-		st.assertNoErrors();
 	}
 
 	/**
@@ -204,28 +174,22 @@ public final class TestBiff8DecryptingSt
 	 */
     @Test
 	public void readHeaderUShort() {
-		StreamTester st = createStreamTester(0x50, "BA AD F0 0D 00", 0x96C66829);
+		StreamTester st = createStreamTester();
 
 		st.rollForward(0x0004, 0x03FF);
 
 		Biff8DecryptingStream bds = st.getBDS();
 		int hval = bds.readDataSize();   // unencrypted
 		int nextInt = bds.readInt();
-		if (nextInt == 0x8F534029) {
-			throw new AssertionFailedError(
-					"Indentified bug in key alignment after call to readHeaderUShort()");
-		}
+		assertNotEquals("Indentified bug in key alignment after call to readHeaderUShort()",0x8F534029, nextInt);
 		assertEquals(0x16885243, nextInt);
-		if (hval == 0x283E) {
-			throw new AssertionFailedError("readHeaderUShort() incorrectly decrypted result");
-		}
+		assertNotEquals("readHeaderUShort() incorrectly decrypted result", 0x283E, hval);
 		assertEquals(0x504F, hval);
 
 		// confirm next key change
 		st.rollForward(0x0405, 0x07FC);
 		st.confirmInt(0x76CC1223);
 		st.confirmInt(0x4842D83E);
-		st.assertNoErrors();
 	}
 
 	/**
@@ -233,17 +197,16 @@ public final class TestBiff8DecryptingSt
 	 */
     @Test
 	public void readByteArrays() {
-		StreamTester st = createStreamTester(0x50, "BA AD F0 0D 00", 0x96C66829);
+		StreamTester st = createStreamTester();
 
 		st.rollForward(0x0004, 0x2FFC);
 		st.confirmData("66 A1 20 B1 04 A3 35 F5"); // 4 bytes on either side of boundary
 		st.rollForward(0x3004, 0x33F8);
 		st.confirmData("F8 97 59 36");  // last 4 bytes in block
 		st.confirmData("01 C2 4E 55");  // first 4 bytes in next block
-		st.assertNoErrors();
 	}
 
-	private static StreamTester createStreamTester(int mockStreamStartVal, String keyDigestHex, int expectedFirstInt) {
-		return new StreamTester(new MockStream(mockStreamStartVal), keyDigestHex, expectedFirstInt);
+	private static StreamTester createStreamTester() {
+		return new StreamTester(new MockStream(0x50), "BA AD F0 0D 00", 0x96C66829);
 	}
 }

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestDirectoryNode.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestDirectoryNode.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestDirectoryNode.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestDirectoryNode.java Fri Dec 27 23:00:13 2019
@@ -18,6 +18,12 @@
 
 package org.apache.poi.poifs.filesystem;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import java.io.ByteArrayInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -25,76 +31,71 @@ import java.util.Iterator;
 
 import org.apache.poi.poifs.property.DirectoryProperty;
 import org.apache.poi.poifs.property.DocumentProperty;
-
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  * Class to test DirectoryNode functionality
- *
- * @author Marc Johnson
  */
-public final class TestDirectoryNode extends TestCase {
+public final class TestDirectoryNode {
 
     /**
      * test trivial constructor (a DirectoryNode with no children)
      */
-    public void testEmptyConstructor() {
-        POIFSFileSystem   fs        = new POIFSFileSystem();
-        DirectoryProperty property1 = new DirectoryProperty("parent");
-        DirectoryProperty property2 = new DirectoryProperty("child");
-        DirectoryNode     parent    = new DirectoryNode(property1, fs, null);
-        DirectoryNode     node      = new DirectoryNode(property2, fs,
-                                          parent);
-
-        assertEquals(0, parent.getPath().length());
-        assertEquals(1, node.getPath().length());
-        assertEquals("child", node.getPath().getComponent(0));
-
-        // verify that getEntries behaves correctly
-        int      count = 0;
-        Iterator<Entry> iter  = node.getEntries();
-
-        while (iter.hasNext())
-        {
-            count++;
-            iter.next();
-        }
-        assertEquals(0, count);
-
-        // verify behavior of isEmpty
-        assertTrue(node.isEmpty());
+    @Test
+    public void testEmptyConstructor() throws IOException {
+        try (POIFSFileSystem fs = new POIFSFileSystem()) {
+            DirectoryProperty property1 = new DirectoryProperty("parent");
+            DirectoryProperty property2 = new DirectoryProperty("child");
+            DirectoryNode parent = new DirectoryNode(property1, fs, null);
+            DirectoryNode node = new DirectoryNode(property2, fs, parent);
+
+            assertEquals(0, parent.getPath().length());
+            assertEquals(1, node.getPath().length());
+            assertEquals("child", node.getPath().getComponent(0));
+
+            // verify that getEntries behaves correctly
+            int count = 0;
+            Iterator<Entry> iter = node.getEntries();
+
+            while (iter.hasNext()) {
+                count++;
+                iter.next();
+            }
+            assertEquals(0, count);
+
+            // verify behavior of isEmpty
+            assertTrue(node.isEmpty());
+
+            // verify behavior of getEntryCount
+            assertEquals(0, node.getEntryCount());
+
+            // verify behavior of getEntry
+            try {
+                node.getEntry("foo");
+                fail("should have caught FileNotFoundException");
+            } catch (FileNotFoundException ignored) {
+
+                // as expected
+            }
+
+            // verify behavior of isDirectoryEntry
+            assertTrue(node.isDirectoryEntry());
 
-        // verify behavior of getEntryCount
-        assertEquals(0, node.getEntryCount());
+            // verify behavior of getName
+            assertEquals(property2.getName(), node.getName());
 
-        // verify behavior of getEntry
-        try
-        {
-            node.getEntry("foo");
-            fail("should have caught FileNotFoundException");
-        }
-        catch (FileNotFoundException ignored)
-        {
+            // verify behavior of isDocumentEntry
+            assertFalse(node.isDocumentEntry());
 
-            // as expected
+            // verify behavior of getParent
+            assertEquals(parent, node.getParent());
         }
-
-        // verify behavior of isDirectoryEntry
-        assertTrue(node.isDirectoryEntry());
-
-        // verify behavior of getName
-        assertEquals(property2.getName(), node.getName());
-
-        // verify behavior of isDocumentEntry
-        assertFalse(node.isDocumentEntry());
-
-        // verify behavior of getParent
-        assertEquals(parent, node.getParent());
     }
 
     /**
      * test non-trivial constructor (a DirectoryNode with children)
      */
+    @Test
     public void testNonEmptyConstructor() throws IOException {
         DirectoryProperty property1 = new DirectoryProperty("parent");
         DirectoryProperty property2 = new DirectoryProperty("child1");
@@ -102,119 +103,118 @@ public final class TestDirectoryNode ext
         property1.addChild(property2);
         property1.addChild(new DocumentProperty("child2", 2000));
         property2.addChild(new DocumentProperty("child3", 30000));
-        DirectoryNode node  = new DirectoryNode(property1,
-                                                new POIFSFileSystem(), null);
 
-        // verify that getEntries behaves correctly
-        int           count = 0;
-        Iterator<Entry>      iter  = node.getEntries();
-
-        while (iter.hasNext())
-        {
-            count++;
-            iter.next();
-        }
-        assertEquals(2, count);
+        try (POIFSFileSystem fs = new POIFSFileSystem()) {
+            DirectoryNode node = new DirectoryNode(property1, fs, null);
 
-        // verify behavior of isEmpty
-        assertFalse(node.isEmpty());
+            // verify that getEntries behaves correctly
+            int count = 0;
+            Iterator<Entry> iter = node.getEntries();
 
-        // verify behavior of getEntryCount
-        assertEquals(2, node.getEntryCount());
+            while (iter.hasNext()) {
+                count++;
+                iter.next();
+            }
+            assertEquals(2, count);
 
-        // verify behavior of getEntry
-        DirectoryNode child1 = ( DirectoryNode ) node.getEntry("child1");
-
-        child1.getEntry("child3");
-        node.getEntry("child2");
-        try
-        {
-            node.getEntry("child3");
-            fail("should have caught FileNotFoundException");
-        }
-        catch (FileNotFoundException ignored)
-        {
+            // verify behavior of isEmpty
+            assertFalse(node.isEmpty());
 
-            // as expected
-        }
+            // verify behavior of getEntryCount
+            assertEquals(2, node.getEntryCount());
+
+            // verify behavior of getEntry
+            DirectoryNode child1 = (DirectoryNode) node.getEntry("child1");
+
+            child1.getEntry("child3");
+            node.getEntry("child2");
+            try {
+                node.getEntry("child3");
+                fail("should have caught FileNotFoundException");
+            } catch (FileNotFoundException ignored) {
 
-        // verify behavior of isDirectoryEntry
-        assertTrue(node.isDirectoryEntry());
+                // as expected
+            }
 
-        // verify behavior of getName
-        assertEquals(property1.getName(), node.getName());
+            // verify behavior of isDirectoryEntry
+            assertTrue(node.isDirectoryEntry());
 
-        // verify behavior of isDocumentEntry
-        assertFalse(node.isDocumentEntry());
+            // verify behavior of getName
+            assertEquals(property1.getName(), node.getName());
 
-        // verify behavior of getParent
-        assertNull(node.getParent());
+            // verify behavior of isDocumentEntry
+            assertFalse(node.isDocumentEntry());
+
+            // verify behavior of getParent
+            assertNull(node.getParent());
+        }
     }
 
     /**
      * test deletion methods
      */
+    @Test
     public void testDeletion() throws IOException {
-        POIFSFileSystem fs   = new POIFSFileSystem();
-        DirectoryEntry  root = fs.getRoot();
+        try (POIFSFileSystem fs   = new POIFSFileSystem()) {
+            DirectoryEntry root = fs.getRoot();
 
-        // verify cannot delete the root directory
-        assertFalse(root.delete());
-        assertTrue(root.isEmpty());
+            // verify cannot delete the root directory
+            assertFalse(root.delete());
+            assertTrue(root.isEmpty());
 
-        DirectoryEntry dir = fs.createDirectory("myDir");
+            DirectoryEntry dir = fs.createDirectory("myDir");
 
-        assertFalse(root.isEmpty());
-        assertTrue(dir.isEmpty());
+            assertFalse(root.isEmpty());
+            assertTrue(dir.isEmpty());
 
-        // verify can delete empty directory
-        assertFalse(root.delete());
-        assertTrue(dir.delete());
+            // verify can delete empty directory
+            assertFalse(root.delete());
+            assertTrue(dir.delete());
 
-        // Now look at a non-empty one
-        dir = fs.createDirectory("NextDir");
-        DocumentEntry doc =
-            dir.createDocument("foo",
-                               new ByteArrayInputStream(new byte[ 1 ]));
+            // Now look at a non-empty one
+            dir = fs.createDirectory("NextDir");
+            DocumentEntry doc =
+                    dir.createDocument("foo",
+                                       new ByteArrayInputStream(new byte[1]));
 
-        assertFalse(root.isEmpty());
-        assertFalse(dir.isEmpty());
+            assertFalse(root.isEmpty());
+            assertFalse(dir.isEmpty());
 
-        // verify cannot delete non-empty directory
-        assertFalse(dir.delete());
+            // verify cannot delete non-empty directory
+            assertFalse(dir.delete());
 
-        // but we can delete it if we remove the document
-        assertTrue(doc.delete());
-        assertTrue(dir.isEmpty());
-        assertTrue(dir.delete());
+            // but we can delete it if we remove the document
+            assertTrue(doc.delete());
+            assertTrue(dir.isEmpty());
+            assertTrue(dir.delete());
 
-        // It's really gone!
-        assertTrue(root.isEmpty());
+            // It's really gone!
+            assertTrue(root.isEmpty());
 
-        fs.close();
+        }
     }
 
     /**
      * test change name methods
      */
+    @Test
     public void testRename() throws IOException {
-        POIFSFileSystem fs   = new POIFSFileSystem();
-        DirectoryEntry  root = fs.getRoot();
+        try (POIFSFileSystem fs   = new POIFSFileSystem()) {
+            DirectoryEntry root = fs.getRoot();
 
-        // verify cannot rename the root directory
-        assertFalse(root.renameTo("foo"));
-        DirectoryEntry dir = fs.createDirectory("myDir");
-
-        assertTrue(dir.renameTo("foo"));
-        assertEquals("foo", dir.getName());
-        DirectoryEntry dir2 = fs.createDirectory("myDir");
-
-        assertFalse(dir2.renameTo("foo"));
-        assertEquals("myDir", dir2.getName());
-        assertTrue(dir.renameTo("FirstDir"));
-        assertTrue(dir2.renameTo("foo"));
-        assertEquals("foo", dir2.getName());
-
-        fs.close();
+            // verify cannot rename the root directory
+            assertFalse(root.renameTo("foo"));
+            DirectoryEntry dir = fs.createDirectory("myDir");
+
+            assertTrue(dir.renameTo("foo"));
+            assertEquals("foo", dir.getName());
+            DirectoryEntry dir2 = fs.createDirectory("myDir");
+
+            assertFalse(dir2.renameTo("foo"));
+            assertEquals("myDir", dir2.getName());
+            assertTrue(dir.renameTo("FirstDir"));
+            assertTrue(dir2.renameTo("foo"));
+            assertEquals("foo", dir2.getName());
+        }
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestDocumentDescriptor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestDocumentDescriptor.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestDocumentDescriptor.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestDocumentDescriptor.java Fri Dec 27 23:00:13 2019
@@ -17,18 +17,20 @@
 
 package org.apache.poi.poifs.filesystem;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+import org.junit.Test;
 
 /**
  * Class to test DocumentDescriptor functionality
- *
- * @author Marc Johnson
  */
-public final class TestDocumentDescriptor extends TestCase {
+public final class TestDocumentDescriptor {
 
     /**
      * test equality
      */
+    @Test
     public void testEquality() {
         String[] names = { "c1", "c2", "c3", "c4", "c5" };
         POIFSDocumentPath   a1    = new POIFSDocumentPath();
@@ -39,131 +41,67 @@ public final class TestDocumentDescripto
                                         new String[ 0 ]);
         POIFSDocumentPath[] paths = { a1, a2, a3, a4, a5 };
 
-        for (int j = 0; j < paths.length; j++)
-        {
-            for (int k = 0; k < paths.length; k++)
-            {
-                for (int m = 0; m < names.length; m++)
-                {
-                    DocumentDescriptor d1 = new DocumentDescriptor(paths[ j ],
-                                                names[ m ]);
-
-                    for (int n = 0; n < names.length; n++)
-                    {
-                        DocumentDescriptor d2 =
-                            new DocumentDescriptor(paths[ k ], names[ n ]);
-
-                        if (m == n)
-                        {
-                            assertEquals("" + j + "," + k + "," + m + ","
-                                         + n, d1, d2);
-                        }
-                        else
-                        {
-                            assertFalse(d1.equals(d2));
+        for (int j = 0; j < paths.length; j++) {
+            for (int k = 0; k < paths.length; k++) {
+                for (int m = 0; m < names.length; m++) {
+                    DocumentDescriptor d1 = new DocumentDescriptor(paths[ j ], names[ m ]);
+
+                    for (int n = 0; n < names.length; n++) {
+                        DocumentDescriptor d2 = new DocumentDescriptor(paths[ k ], names[ n ]);
+
+                        if (m == n) {
+                            assertEquals("" + j + "," + k + "," + m + "," + n, d1, d2);
+                        } else {
+                            assertNotEquals(d1, d2);
                         }
                     }
                 }
             }
         }
-        a2 = new POIFSDocumentPath(a1, new String[]
-        {
-            "foo"
-        });
-        a3 = new POIFSDocumentPath(a2, new String[]
-        {
-            "bar"
-        });
-        a4 = new POIFSDocumentPath(a3, new String[]
-        {
-            "fubar"
-        });
-        a5 = new POIFSDocumentPath(a4, new String[]
-        {
-            "foobar"
-        });
-        POIFSDocumentPath[] builtUpPaths =
-        {
-            a1, a2, a3, a4, a5
-        };
-        POIFSDocumentPath[] fullPaths    =
-        {
-            new POIFSDocumentPath(), new POIFSDocumentPath(new String[]
-            {
-                "foo"
-            }), new POIFSDocumentPath(new String[]
-            {
-                "foo", "bar"
-            }), new POIFSDocumentPath(new String[]
-            {
-                "foo", "bar", "fubar"
-            }), new POIFSDocumentPath(new String[]
-            {
-                "foo", "bar", "fubar", "foobar"
-            })
+        a2 = new POIFSDocumentPath(a1, new String[]{"foo"});
+        a3 = new POIFSDocumentPath(a2, new String[]{"bar"});
+        a4 = new POIFSDocumentPath(a3, new String[]{"fubar"});
+        a5 = new POIFSDocumentPath(a4, new String[]{"foobar"});
+        POIFSDocumentPath[] builtUpPaths = {a1, a2, a3, a4, a5};
+        POIFSDocumentPath[] fullPaths    = {
+            new POIFSDocumentPath(),
+            new POIFSDocumentPath(new String[]{"foo"}),
+            new POIFSDocumentPath(new String[]{"foo", "bar"}),
+            new POIFSDocumentPath(new String[]{"foo", "bar", "fubar"}),
+            new POIFSDocumentPath(new String[]{"foo", "bar", "fubar", "foobar"})
         };
 
-        for (int k = 0; k < builtUpPaths.length; k++)
-        {
-            for (int j = 0; j < fullPaths.length; j++)
-            {
-                for (int m = 0; m < names.length; m++)
-                {
-                    DocumentDescriptor d1 =
-                        new DocumentDescriptor(fullPaths[ j ], names[ m ]);
-
-                    for (int n = 0; n < names.length; n++)
-                    {
-                        DocumentDescriptor d2 =
-                            new DocumentDescriptor(builtUpPaths[ k ],
-                                                   names[ n ]);
-
-                        if ((k == j) && (m == n))
-                        {
-                            assertEquals("" + j + "," + k + "," + m + ","
-                                         + n, d1, d2);
-                        }
-                        else
-                        {
-                            assertFalse(d1.equals(d2));
+        for (int k = 0; k < builtUpPaths.length; k++) {
+            for (int j = 0; j < fullPaths.length; j++) {
+                for (int m = 0; m < names.length; m++) {
+                    DocumentDescriptor d1 = new DocumentDescriptor(fullPaths[ j ], names[ m ]);
+
+                    for (int n = 0; n < names.length; n++) {
+                        DocumentDescriptor d2 = new DocumentDescriptor(builtUpPaths[ k ], names[ n ]);
+
+                        if ((k == j) && (m == n)) {
+                            assertEquals("" + j + "," + k + "," + m + "," + n, d1, d2);
+                        } else {
+                            assertNotEquals(d1, d2);
                         }
                     }
                 }
             }
         }
-        POIFSDocumentPath[] badPaths =
-        {
-            new POIFSDocumentPath(new String[]
-            {
-                "_foo"
-            }), new POIFSDocumentPath(new String[]
-            {
-                "foo", "_bar"
-            }), new POIFSDocumentPath(new String[]
-            {
-                "foo", "bar", "_fubar"
-            }), new POIFSDocumentPath(new String[]
-            {
-                "foo", "bar", "fubar", "_foobar"
-            })
+        POIFSDocumentPath[] badPaths = {
+            new POIFSDocumentPath(new String[]{"_foo"}),
+            new POIFSDocumentPath(new String[]{"foo", "_bar"}),
+            new POIFSDocumentPath(new String[]{"foo", "bar", "_fubar"}),
+            new POIFSDocumentPath(new String[]{"foo", "bar", "fubar", "_foobar"})
         };
 
-        for (int k = 0; k < builtUpPaths.length; k++)
-        {
-            for (int j = 0; j < badPaths.length; j++)
-            {
-                for (int m = 0; m < names.length; m++)
-                {
-                    DocumentDescriptor d1 =
-                        new DocumentDescriptor(badPaths[ j ], names[ m ]);
-
-                    for (int n = 0; n < names.length; n++)
-                    {
-                        DocumentDescriptor d2 =
-                            new DocumentDescriptor(builtUpPaths[ k ],
-                                                   names[ n ]);
-
-                        assertFalse(d1.equals(d2));
+        for (POIFSDocumentPath builtUpPath : builtUpPaths) {
+            for (POIFSDocumentPath badPath : badPaths) {
+                for (String s : names) {
+                    DocumentDescriptor d1 = new DocumentDescriptor(badPath, s);
+                    for (String name : names) {
+                        DocumentDescriptor d2 = new DocumentDescriptor(builtUpPath, name);
+                        assertNotEquals(d1, d2);
                     }
                 }
             }

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNotOLE2Exception.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNotOLE2Exception.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNotOLE2Exception.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestNotOLE2Exception.java Fri Dec 27 23:00:13 2019
@@ -18,33 +18,32 @@
 package org.apache.poi.poifs.filesystem;
 
 import static org.apache.poi.POITestCase.assertContains;
+import static org.junit.Assert.fail;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import junit.framework.TestCase;
-
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.OldExcelFormatException;
+import org.junit.Test;
 
 /**
  * Class to test that POIFS complains when given older non-OLE2
  *  formats. See also {@link TestOfficeXMLException} for OOXML
- *  checks 
+ *  checks
  */
-public class TestNotOLE2Exception extends TestCase {
+public class TestNotOLE2Exception {
 	private static InputStream openXLSSampleStream(String sampleFileName) {
 		return HSSFTestDataSamples.openSampleFileStream(sampleFileName);
 	}
     private static InputStream openDOCSampleStream(String sampleFileName) {
         return POIDataSamples.getDocumentInstance().openResourceAsStream(sampleFileName);
     }
-    
-	public void testRawXMLException() throws IOException {
-        InputStream in = openXLSSampleStream("SampleSS.xml");
 
-        try {
+    @Test
+	public void testRawXMLException() throws IOException {
+        try (InputStream in = openXLSSampleStream("SampleSS.xml")) {
             new POIFSFileSystem(in).close();
             fail("expected exception was not thrown");
         } catch(NotOLE2FileException e) {
@@ -53,11 +52,10 @@ public class TestNotOLE2Exception extend
             assertContains(e.getMessage(), "Formats such as Office 2003 XML");
         }
     }
-	
-    public void testMSWriteException() throws IOException {
-        InputStream in = openDOCSampleStream("MSWriteOld.wri");
 
-        try {
+    @Test
+    public void testMSWriteException() throws IOException {
+        try (InputStream in = openDOCSampleStream("MSWriteOld.wri")) {
             new POIFSFileSystem(in).close();
             fail("expected exception was not thrown");
         } catch(NotOLE2FileException e) {
@@ -66,11 +64,10 @@ public class TestNotOLE2Exception extend
             assertContains(e.getMessage(), "doesn't currently support");
         }
     }
-    
-	public void testBiff3Exception() throws IOException {
-        InputStream in = openXLSSampleStream("testEXCEL_3.xls");
 
-        try {
+    @Test
+	public void testBiff3Exception() throws IOException {
+        try (InputStream in = openXLSSampleStream("testEXCEL_3.xls")) {
             new POIFSFileSystem(in).close();
             fail("expected exception was not thrown");
         } catch(OldExcelFormatException e) {
@@ -80,10 +77,9 @@ public class TestNotOLE2Exception extend
         }
 	}
 
+    @Test
     public void testBiff4Exception() throws IOException {
-        InputStream in = openXLSSampleStream("testEXCEL_4.xls");
-
-        try {
+        try (InputStream in = openXLSSampleStream("testEXCEL_4.xls")) {
             new POIFSFileSystem(in).close();
             fail("expected exception was not thrown");
         } catch(OldExcelFormatException e) {

Modified: poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestOfficeXMLException.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestOfficeXMLException.java?rev=1872041&r1=1872040&r2=1872041&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestOfficeXMLException.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/poifs/filesystem/TestOfficeXMLException.java Fri Dec 27 23:00:13 2019
@@ -17,7 +17,6 @@
 
 package org.apache.poi.poifs.filesystem;
 
-import static org.apache.poi.POITestCase.assertContains;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
@@ -26,11 +25,8 @@ import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.Arrays;
 
 import org.apache.poi.hssf.HSSFTestDataSamples;
-
-import junit.framework.TestCase;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;



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