Modified: 
poi/trunk/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/model/TestDrawingShapes.java 
Mon Mar 21 00:14:21 2016
@@ -17,11 +17,15 @@
 
 package org.apache.poi.hssf.model;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 import java.io.IOException;
 import java.util.List;
 
-import junit.framework.TestCase;
-
 import org.apache.poi.ddf.EscherBoolProperty;
 import org.apache.poi.ddf.EscherContainerRecord;
 import org.apache.poi.ddf.EscherDgRecord;
@@ -34,21 +38,33 @@ import org.apache.poi.hssf.HSSFTestDataS
 import org.apache.poi.hssf.record.CommonObjectDataSubRecord;
 import org.apache.poi.hssf.record.EscherAggregate;
 import org.apache.poi.hssf.record.ObjRecord;
-import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.hssf.usermodel.HSSFAnchor;
+import org.apache.poi.hssf.usermodel.HSSFChildAnchor;
+import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
+import org.apache.poi.hssf.usermodel.HSSFComment;
+import org.apache.poi.hssf.usermodel.HSSFPatriarch;
+import org.apache.poi.hssf.usermodel.HSSFPicture;
+import org.apache.poi.hssf.usermodel.HSSFPolygon;
+import org.apache.poi.hssf.usermodel.HSSFRichTextString;
+import org.apache.poi.hssf.usermodel.HSSFShape;
+import org.apache.poi.hssf.usermodel.HSSFShapeGroup;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFSimpleShape;
+import org.apache.poi.hssf.usermodel.HSSFTestHelper;
+import org.apache.poi.hssf.usermodel.HSSFTextbox;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.util.HexDump;
+import org.junit.Test;
 
 
 /**
- * @author Evgeniy Berlog
- * date: 12.06.12
+ * Test escher drawing
+ * 
+ * optionally the system setting "poi.deserialize.escher" can be set to {@code 
true}
  */
-public class TestDrawingShapes extends TestCase {
-    static {
-        //System.setProperty("poi.deserialize.escher", "true");
-    }
-    
+public class TestDrawingShapes {
     /**
      * HSSFShape tree bust be built correctly
      * Check file with such records structure:
@@ -63,7 +79,8 @@ public class TestDrawingShapes extends T
      * ----shape
      * ----shape
      */
-    public void testDrawingGroups() {
+    @Test
+    public void testDrawingGroups() throws IOException {
         HSSFWorkbook wb = 
HSSFTestDataSamples.openSampleWorkbook("drawings.xls");
         HSSFSheet sheet = wb.getSheet("groups");
         HSSFPatriarch patriarch = sheet.getDrawingPatriarch();
@@ -74,8 +91,10 @@ public class TestDrawingShapes extends T
         assertEquals(2, group1.getChildren().size());
         group1 = (HSSFShapeGroup) group.getChildren().get(2);
         assertEquals(2, group1.getChildren().size());
+        wb.close();
     }
 
+    @Test
     public void testHSSFShapeCompatibility() {
         HSSFSimpleShape shape = new HSSFSimpleShape(null, new 
HSSFClientAnchor());
         shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_LINE);
@@ -91,35 +110,33 @@ public class TestDrawingShapes extends T
                 spContainer.getChildById(EscherOptRecord.RECORD_ID);
 
         assertEquals(7, opt.getEscherProperties().size());
-        assertEquals(true,
-                ((EscherBoolProperty) 
opt.lookup(EscherProperties.TEXT__SIZE_TEXT_TO_FIT_SHAPE)).isTrue());
+        assertTrue(((EscherBoolProperty) 
opt.lookup(EscherProperties.TEXT__SIZE_TEXT_TO_FIT_SHAPE)).isTrue());
         assertEquals(0x00000004,
                 ((EscherSimpleProperty) 
opt.lookup(EscherProperties.GEOMETRY__SHAPEPATH)).getPropertyValue());
         assertEquals(0x08000009,
                 ((EscherSimpleProperty) 
opt.lookup(EscherProperties.FILL__FILLCOLOR)).getPropertyValue());
-        assertEquals(true,
-                ((EscherBoolProperty) 
opt.lookup(EscherProperties.FILL__NOFILLHITTEST)).isTrue());
+        assertTrue(((EscherBoolProperty) 
opt.lookup(EscherProperties.FILL__NOFILLHITTEST)).isTrue());
         assertEquals(0x08000040,
                 ((EscherSimpleProperty) 
opt.lookup(EscherProperties.LINESTYLE__COLOR)).getPropertyValue());
-        assertEquals(true,
-                ((EscherBoolProperty) 
opt.lookup(EscherProperties.LINESTYLE__NOLINEDRAWDASH)).isTrue());
-        assertEquals(true,
-                ((EscherBoolProperty) 
opt.lookup(EscherProperties.GROUPSHAPE__PRINT)).isTrue());
+        assertTrue(((EscherBoolProperty) 
opt.lookup(EscherProperties.LINESTYLE__NOLINEDRAWDASH)).isTrue());
+        assertTrue(((EscherBoolProperty) 
opt.lookup(EscherProperties.GROUPSHAPE__PRINT)).isTrue());
     }
 
+    @Test
     public void testDefaultPictureSettings() {
         HSSFPicture picture = new HSSFPicture(null, new HSSFClientAnchor());
         assertEquals(picture.getLineWidth(), HSSFShape.LINEWIDTH_DEFAULT);
         assertEquals(picture.getFillColor(), 
HSSFShape.FILL__FILLCOLOR_DEFAULT);
         assertEquals(picture.getLineStyle(), HSSFShape.LINESTYLE_NONE);
         assertEquals(picture.getLineStyleColor(), 
HSSFShape.LINESTYLE__COLOR_DEFAULT);
-        assertEquals(picture.isNoFill(), false);
+        assertFalse(picture.isNoFill());
         assertEquals(picture.getPictureIndex(), -1);//not set yet
     }
 
     /**
      * No NullPointerException should appear
      */
+    @Test
     public void testDefaultSettingsWithEmptyContainer() {
         EscherContainerRecord container = new EscherContainerRecord();
         EscherOptRecord opt = new EscherOptRecord();
@@ -142,10 +159,10 @@ public class TestDrawingShapes extends T
     /**
      * create a rectangle, save the workbook, read back and verify that all 
shape properties are there
      */
+    @Test
     public void testReadWriteRectangle() throws IOException {
-
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet();
+        HSSFWorkbook wb1 = new HSSFWorkbook();
+        HSSFSheet sheet = wb1.createSheet();
 
         HSSFPatriarch drawing = sheet.createDrawingPatriarch();
         HSSFClientAnchor anchor = new HSSFClientAnchor(10, 10, 50, 50, (short) 
2, 2, (short) 4, 4);
@@ -172,8 +189,9 @@ public class TestDrawingShapes extends T
         assertEquals(rectangle.getWrapText(), HSSFSimpleShape.WRAP_NONE);
         assertEquals(rectangle.getString().getString(), "teeeest");
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
+        wb1.close();
+        sheet = wb2.getSheetAt(0);
         drawing = sheet.getDrawingPatriarch();
         assertEquals(1, drawing.getChildren().size());
 
@@ -202,8 +220,9 @@ public class TestDrawingShapes extends T
         rectangle.setWrapText(HSSFSimpleShape.WRAP_BY_POINTS);
         rectangle2.setString(new HSSFRichTextString("test22"));
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb3 = HSSFTestDataSamples.writeOutAndReadBack(wb2);
+        wb2.close();
+        sheet = wb3.getSheetAt(0);
         drawing = sheet.getDrawingPatriarch();
         assertEquals(1, drawing.getChildren().size());
         rectangle2 = (HSSFSimpleShape) drawing.getChildren().get(0);
@@ -222,13 +241,16 @@ public class TestDrawingShapes extends T
 
         HSSFSimpleShape rect3 = drawing.createSimpleShape(new 
HSSFClientAnchor());
         rect3.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
+        HSSFWorkbook wb4 = HSSFTestDataSamples.writeOutAndReadBack(wb3);
+        wb3.close();
 
-        drawing = wb.getSheetAt(0).getDrawingPatriarch();
+        drawing = wb4.getSheetAt(0).getDrawingPatriarch();
         assertEquals(drawing.getChildren().size(), 2);
+        wb4.close();
     }
 
-    public void testReadExistingImage() {
+    @Test
+    public void testReadExistingImage() throws IOException {
         HSSFWorkbook wb = 
HSSFTestDataSamples.openSampleWorkbook("drawings.xls");
         HSSFSheet sheet = wb.getSheet("pictures");
         HSSFPatriarch drawing = sheet.getDrawingPatriarch();
@@ -244,11 +266,13 @@ public class TestDrawingShapes extends T
 
         picture.setPictureIndex(2);
         assertEquals(picture.getPictureIndex(), 2);
+        wb.close();
     }
 
 
     /* assert shape properties when reading shapes from a existing workbook */
-    public void testReadExistingRectangle() {
+    @Test
+    public void testReadExistingRectangle() throws IOException {
         HSSFWorkbook wb = 
HSSFTestDataSamples.openSampleWorkbook("drawings.xls");
         HSSFSheet sheet = wb.getSheet("rectangles");
         HSSFPatriarch drawing = sheet.getDrawingPatriarch();
@@ -262,18 +286,21 @@ public class TestDrawingShapes extends T
         assertEquals(shape.getLineWidth(), HSSFShape.LINEWIDTH_ONE_PT * 2);
         assertEquals(shape.getString().getString(), "POItest");
         assertEquals(shape.getRotationDegree(), 27);
+        wb.close();
     }
 
-    public void testShapeIds() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet1 = wb.createSheet();
+    @Test
+    public void testShapeIds() throws IOException {
+        HSSFWorkbook wb1 = new HSSFWorkbook();
+        HSSFSheet sheet1 = wb1.createSheet();
         HSSFPatriarch patriarch1 = sheet1.createDrawingPatriarch();
         for (int i = 0; i < 2; i++) {
             patriarch1.createSimpleShape(new HSSFClientAnchor());
         }
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet1 = wb.getSheetAt(0);
+        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
+        wb1.close();
+        sheet1 = wb2.getSheetAt(0);
         patriarch1 = sheet1.getDrawingPatriarch();
 
         EscherAggregate agg1 = HSSFTestHelper.getEscherAggregate(patriarch1);
@@ -299,13 +326,15 @@ public class TestDrawingShapes extends T
         EscherSpRecord sp2 =
                 ((EscherContainerRecord) 
spgrContainer.getChild(2)).getChildById(EscherSpRecord.RECORD_ID);
         assertEquals(1026, sp2.getShapeId());
+        wb2.close();
     }
 
     /**
      * Test get new id for shapes from existing file
      * File already have for 1 shape on each sheet, because document must 
contain EscherDgRecord for each sheet
      */
-    public void testAllocateNewIds() {
+    @Test
+    public void testAllocateNewIds() throws IOException {
         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("empty.xls");
         HSSFSheet sheet = wb.getSheetAt(0);
         HSSFPatriarch patriarch = sheet.getDrawingPatriarch();
@@ -336,79 +365,76 @@ public class TestDrawingShapes extends T
         assertEquals(HSSFTestHelper.allocateNewShapeId(patriarch), 1026);
         assertEquals(HSSFTestHelper.allocateNewShapeId(patriarch), 1027);
         assertEquals(HSSFTestHelper.allocateNewShapeId(patriarch), 1028);
+        wb.close();
     }
 
-    public void testOpt() throws Exception {
+    @Test
+    public void testOpt() throws IOException {
         HSSFWorkbook wb = new HSSFWorkbook();
 
-        try {
-            // create a sheet with a text box
-            HSSFSheet sheet = wb.createSheet();
-            HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
-    
-            HSSFTextbox textbox = patriarch.createTextbox(new 
HSSFClientAnchor());
-            EscherOptRecord opt1 = HSSFTestHelper.getOptRecord(textbox);
-            EscherOptRecord opt2 = 
HSSFTestHelper.getEscherContainer(textbox).getChildById(EscherOptRecord.RECORD_ID);
-            assertSame(opt1, opt2);
-        } finally {
-            wb.close();
-        }
+        // create a sheet with a text box
+        HSSFSheet sheet = wb.createSheet();
+        HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+
+        HSSFTextbox textbox = patriarch.createTextbox(new HSSFClientAnchor());
+        EscherOptRecord opt1 = HSSFTestHelper.getOptRecord(textbox);
+        EscherOptRecord opt2 = 
HSSFTestHelper.getEscherContainer(textbox).getChildById(EscherOptRecord.RECORD_ID);
+        assertSame(opt1, opt2);
+        wb.close();
     }
     
+    @Test
     public void testCorrectOrderInOptRecord() throws IOException{
         HSSFWorkbook wb = new HSSFWorkbook();
         
-        try {
-            HSSFSheet sheet = wb.createSheet();
-            HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
-    
-            HSSFTextbox textbox = patriarch.createTextbox(new 
HSSFClientAnchor());
-            EscherOptRecord opt = HSSFTestHelper.getOptRecord(textbox);
-            
-            String opt1Str = opt.toXml();
-    
-            textbox.setFillColor(textbox.getFillColor());
-            EscherContainerRecord container = 
HSSFTestHelper.getEscherContainer(textbox);
-            EscherOptRecord optRecord = 
container.getChildById(EscherOptRecord.RECORD_ID);
-            assertEquals(opt1Str, optRecord.toXml());
-            textbox.setLineStyle(textbox.getLineStyle());
-            assertEquals(opt1Str, optRecord.toXml());
-            textbox.setLineWidth(textbox.getLineWidth());
-            assertEquals(opt1Str, optRecord.toXml());
-            textbox.setLineStyleColor(textbox.getLineStyleColor());
-            assertEquals(opt1Str, optRecord.toXml());
-        } finally {
-            wb.close();
-        }
-    }
+        HSSFSheet sheet = wb.createSheet();
+        HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
 
-    public void testDgRecordNumShapes() throws IOException{
-        HSSFWorkbook wb = new HSSFWorkbook();
-        try {
-            HSSFSheet sheet = wb.createSheet();
-            HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
-    
-            EscherAggregate aggregate = 
HSSFTestHelper.getEscherAggregate(patriarch);
-            EscherDgRecord dgRecord = (EscherDgRecord) 
aggregate.getEscherRecord(0).getChild(0);
-            assertEquals(dgRecord.getNumShapes(), 1);
-        } finally {
-            wb.close();
-        }
+        HSSFTextbox textbox = patriarch.createTextbox(new HSSFClientAnchor());
+        EscherOptRecord opt = HSSFTestHelper.getOptRecord(textbox);
+        
+        String opt1Str = opt.toXml();
+
+        textbox.setFillColor(textbox.getFillColor());
+        EscherContainerRecord container = 
HSSFTestHelper.getEscherContainer(textbox);
+        EscherOptRecord optRecord = 
container.getChildById(EscherOptRecord.RECORD_ID);
+        assertEquals(opt1Str, optRecord.toXml());
+        textbox.setLineStyle(textbox.getLineStyle());
+        assertEquals(opt1Str, optRecord.toXml());
+        textbox.setLineWidth(textbox.getLineWidth());
+        assertEquals(opt1Str, optRecord.toXml());
+        textbox.setLineStyleColor(textbox.getLineStyleColor());
+        assertEquals(opt1Str, optRecord.toXml());
+        wb.close();
     }
 
-    public void testTextForSimpleShape(){
+    @Test
+    public void testDgRecordNumShapes() throws IOException {
         HSSFWorkbook wb = new HSSFWorkbook();
         HSSFSheet sheet = wb.createSheet();
         HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
 
+        EscherAggregate aggregate = 
HSSFTestHelper.getEscherAggregate(patriarch);
+        EscherDgRecord dgRecord = (EscherDgRecord) 
aggregate.getEscherRecord(0).getChild(0);
+        assertEquals(dgRecord.getNumShapes(), 1);
+        wb.close();
+    }
+
+    @Test
+    public void testTextForSimpleShape() throws IOException {
+        HSSFWorkbook wb1 = new HSSFWorkbook();
+        HSSFSheet sheet = wb1.createSheet();
+        HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+
         HSSFSimpleShape shape = patriarch.createSimpleShape(new 
HSSFClientAnchor());
         shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
 
         EscherAggregate agg = HSSFTestHelper.getEscherAggregate(patriarch);
         assertEquals(agg.getShapeToObjMapping().size(), 2);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
+        wb1.close();
+        sheet = wb2.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         shape = (HSSFSimpleShape) patriarch.getChildren().get(0);
@@ -422,10 +448,12 @@ public class TestDrawingShapes extends T
         
assertNotNull(HSSFTestHelper.getEscherContainer(shape).getChildById(EscherTextboxRecord.RECORD_ID));
         assertEquals(agg.getShapeToObjMapping().size(), 2);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
+        HSSFWorkbook wb3 = HSSFTestDataSamples.writeOutAndReadBack(wb2);
+        wb2.close();
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb4 = HSSFTestDataSamples.writeOutAndReadBack(wb3);
+        wb3.close();
+        sheet = wb4.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         shape = (HSSFSimpleShape) patriarch.getChildren().get(0);
@@ -434,17 +462,19 @@ public class TestDrawingShapes extends T
         assertEquals(shape.getString().getString(), "string1");
         
assertNotNull(HSSFTestHelper.getEscherContainer(shape).getChildById(EscherTextboxRecord.RECORD_ID));
         assertEquals(agg.getShapeToObjMapping().size(), 2);
+        wb4.close();
     }
 
-    public void testRemoveShapes(){
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet();
+    @Test
+    public void testRemoveShapes() throws IOException {
+        HSSFWorkbook wb1 = new HSSFWorkbook();
+        HSSFSheet sheet = wb1.createSheet();
         HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
 
         HSSFSimpleShape rectangle = patriarch.createSimpleShape(new 
HSSFClientAnchor());
         rectangle.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
 
-        int idx = wb.addPicture(new byte[]{1,2,3}, Workbook.PICTURE_TYPE_JPEG);
+        int idx = wb1.addPicture(new byte[]{1,2,3}, 
Workbook.PICTURE_TYPE_JPEG);
         patriarch.createPicture(new HSSFClientAnchor(), idx);
 
         patriarch.createCellComment(new HSSFClientAnchor());
@@ -464,8 +494,9 @@ public class TestDrawingShapes extends T
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 12);
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 1);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
+        wb1.close();
+        sheet = wb2.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 12);
@@ -479,8 +510,9 @@ public class TestDrawingShapes extends T
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 10);
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 1);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb3 = HSSFTestDataSamples.writeOutAndReadBack(wb2);
+        wb2.close();
+        sheet = wb3.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 10);
@@ -492,8 +524,9 @@ public class TestDrawingShapes extends T
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 8);
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 1);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb4 = HSSFTestDataSamples.writeOutAndReadBack(wb3);
+        wb3.close();
+        sheet = wb4.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 8);
@@ -507,8 +540,9 @@ public class TestDrawingShapes extends T
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 1);
         assertEquals(patriarch.getChildren().size(), 4);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb5 = HSSFTestDataSamples.writeOutAndReadBack(wb4);
+        wb4.close();
+        sheet = wb5.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 6);
@@ -522,8 +556,9 @@ public class TestDrawingShapes extends T
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 1);
         assertEquals(patriarch.getChildren().size(), 3);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb6 = HSSFTestDataSamples.writeOutAndReadBack(wb5);
+        wb5.close();
+        sheet = wb6.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 5);
@@ -537,8 +572,9 @@ public class TestDrawingShapes extends T
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 0);
         assertEquals(patriarch.getChildren().size(), 2);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb7 = HSSFTestDataSamples.writeOutAndReadBack(wb6);
+        wb6.close();
+        sheet = wb7.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 3);
@@ -552,8 +588,9 @@ public class TestDrawingShapes extends T
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 0);
         assertEquals(patriarch.getChildren().size(), 1);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb8 = HSSFTestDataSamples.writeOutAndReadBack(wb7);
+        wb7.close();
+        sheet = wb8.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 2);
@@ -567,18 +604,21 @@ public class TestDrawingShapes extends T
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 0);
         assertEquals(patriarch.getChildren().size(), 0);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb9 = HSSFTestDataSamples.writeOutAndReadBack(wb8);
+        wb8.close();
+        sheet = wb9.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getShapeToObjMapping().size(),
 0);
         
assertEquals(HSSFTestHelper.getEscherAggregate(patriarch).getTailRecords().size(),
 0);
         assertEquals(patriarch.getChildren().size(), 0);
+        wb9.close();
     }
 
-    public void testShapeFlip(){
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet();
+    @Test
+    public void testShapeFlip() throws IOException {
+        HSSFWorkbook wb1 = new HSSFWorkbook();
+        HSSFSheet sheet = wb1.createSheet();
         HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
 
         HSSFSimpleShape rectangle = patriarch.createSimpleShape(new 
HSSFClientAnchor());
@@ -592,8 +632,9 @@ public class TestDrawingShapes extends T
         rectangle.setFlipHorizontal(true);
         assertEquals(rectangle.isFlipHorizontal(), true);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
+        wb1.close();
+        sheet = wb2.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         rectangle = (HSSFSimpleShape) patriarch.getChildren().get(0);
@@ -606,19 +647,22 @@ public class TestDrawingShapes extends T
         rectangle.setFlipVertical(false);
         assertEquals(rectangle.isFlipVertical(), false);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb3 = HSSFTestDataSamples.writeOutAndReadBack(wb2);
+        wb2.close();
+        sheet = wb3.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         rectangle = (HSSFSimpleShape) patriarch.getChildren().get(0);
 
         assertEquals(rectangle.isFlipVertical(), false);
         assertEquals(rectangle.isFlipHorizontal(), false);
+        wb3.close();
     }
 
-    public void testRotation() {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet();
+    @Test
+    public void testRotation() throws IOException {
+        HSSFWorkbook wb1 = new HSSFWorkbook();
+        HSSFSheet sheet = wb1.createSheet();
         HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
 
         HSSFSimpleShape rectangle = patriarch.createSimpleShape(new 
HSSFClientAnchor(0,0,100,100, (short) 0,0,(short)5,5));
@@ -629,8 +673,9 @@ public class TestDrawingShapes extends T
         assertEquals(rectangle.getRotationDegree(), 45);
         rectangle.setFlipHorizontal(true);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
+        wb1.close();
+        sheet = wb2.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
         rectangle = (HSSFSimpleShape) patriarch.getChildren().get(0);
         assertEquals(rectangle.getRotationDegree(), 45);
@@ -639,32 +684,33 @@ public class TestDrawingShapes extends T
 
         patriarch.setCoordinates(0, 0, 10, 10);
         rectangle.setString(new HSSFRichTextString("1234"));
+        wb2.close();
     }
 
-    public void testShapeContainerImplementsIterable() throws IOException{
+    @SuppressWarnings("unused")
+    @Test
+    public void testShapeContainerImplementsIterable() throws IOException {
         HSSFWorkbook wb = new HSSFWorkbook();
         
-        try {
-            HSSFSheet sheet = wb.createSheet();
-            HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
-    
-            patriarch.createSimpleShape(new HSSFClientAnchor());
-            patriarch.createSimpleShape(new HSSFClientAnchor());
-    
-            int i=2;
-    
-            for (HSSFShape shape: patriarch){
-                i--;
-            }
-            assertEquals(i, 0);
-        } finally {
-            wb.close();
+        HSSFSheet sheet = wb.createSheet();
+        HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+
+        patriarch.createSimpleShape(new HSSFClientAnchor());
+        patriarch.createSimpleShape(new HSSFClientAnchor());
+
+        int i=2;
+
+        for (HSSFShape shape: patriarch){
+            i--;
         }
+        assertEquals(i, 0);
+        wb.close();
     }
 
-    public void testClearShapesForPatriarch(){
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet();
+    @Test
+    public void testClearShapesForPatriarch() throws IOException {
+        HSSFWorkbook wb1 = new HSSFWorkbook();
+        HSSFSheet sheet = wb1.createSheet();
         HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
 
         patriarch.createSimpleShape(new HSSFClientAnchor());
@@ -683,15 +729,18 @@ public class TestDrawingShapes extends T
         assertEquals(agg.getTailRecords().size(), 0);
         assertEquals(patriarch.getChildren().size(), 0);
 
-        wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-        sheet = wb.getSheetAt(0);
+        HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
+        wb1.close();
+        sheet = wb2.getSheetAt(0);
         patriarch = sheet.getDrawingPatriarch();
 
         assertEquals(agg.getShapeToObjMapping().size(), 0);
         assertEquals(agg.getTailRecords().size(), 0);
         assertEquals(patriarch.getChildren().size(), 0);
+        wb2.close();
     }
     
+    @Test
     public void testBug45312() throws Exception {
         HSSFWorkbook wb = new HSSFWorkbook();
         try {
@@ -739,7 +788,7 @@ public class TestDrawingShapes extends T
         }
     }
 
-    private void checkWorkbookBack(HSSFWorkbook wb) {
+    private void checkWorkbookBack(HSSFWorkbook wb) throws IOException {
         HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb);
         assertNotNull(wbBack);
         
@@ -806,5 +855,7 @@ public class TestDrawingShapes extends T
         assertEquals(2, cAnchor.getCol2());
         assertEquals(2, cAnchor.getRow1());
         assertEquals(2, cAnchor.getRow2());
+        
+        wbBack.close();
     }
 }

Modified: 
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java Mon 
Mar 21 00:14:21 2016
@@ -62,7 +62,7 @@ public final class TestHSSFCell extends
         *  but there's a separate unit test for that.
         */
        @Test
-       public void testDateWindowingRead() throws Exception {
+       public void testDateWindowingRead() throws IOException {
            Calendar cal = LocaleUtil.getLocaleCalendar(2000, 0, 1, 0, 0, 0);// 
Jan. 1, 2000
                Date date = cal.getTime();
 
@@ -94,7 +94,7 @@ public final class TestHSSFCell extends
         * results of this test are meaningless.
         */
        @Test
-       public void testDateWindowingWrite() throws Exception {
+       public void testDateWindowingWrite() throws IOException {
            Calendar cal = LocaleUtil.getLocaleCalendar(2000,0,1,0,0,0); // 
Jan. 1, 2000
                Date date = cal.getTime();
 
@@ -143,7 +143,7 @@ public final class TestHSSFCell extends
         * Tests that the active cell can be correctly read and set
         */
        @Test
-       public void testActiveCell() throws Exception {
+       public void testActiveCell() throws IOException {
                //read in sample
                HSSFWorkbook wb1 = 
HSSFTestDataSamples.openSampleWorkbook("Simple.xls");
 
@@ -235,7 +235,7 @@ public final class TestHSSFCell extends
         * Test reading hyperlinks
         */
        @Test
-       public void testWithHyperlink() throws Exception {
+       public void testWithHyperlink() throws IOException {
 
                HSSFWorkbook wb = 
HSSFTestDataSamples.openSampleWorkbook("WithHyperlink.xls");
 
@@ -256,7 +256,7 @@ public final class TestHSSFCell extends
         * Test reading hyperlinks
         */
        @Test
-       public void testWithTwoHyperlinks() throws Exception {
+       public void testWithTwoHyperlinks() throws IOException {
 
                HSSFWorkbook wb = 
HSSFTestDataSamples.openSampleWorkbook("WithTwoHyperLinks.xls");
 
@@ -286,7 +286,7 @@ public final class TestHSSFCell extends
         *  to our workbook, and not those from other workbooks.
         */
        @Test
-       public void testCellStyleWorkbookMatch() throws Exception {
+       public void testCellStyleWorkbookMatch() throws IOException {
                HSSFWorkbook wbA = new HSSFWorkbook();
                HSSFWorkbook wbB = new HSSFWorkbook();
 
@@ -386,14 +386,14 @@ public final class TestHSSFCell extends
      * HSSF prior to version 3.7 had a bug: it could write a NaN but could not 
read such a file back.
      */
        @Test
-       public void testReadNaN() throws Exception {
+       public void testReadNaN() throws IOException {
         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("49761.xls");
         assertNotNull(wb);
         wb.close();
     }
 
        @Test
-       public void testHSSFCell() throws Exception {
+       public void testHSSFCell() throws IOException {
         HSSFWorkbook wb = new HSSFWorkbook();
         HSSFSheet sheet = wb.createSheet();
         HSSFRow row = sheet.createRow(0);
@@ -403,9 +403,8 @@ public final class TestHSSFCell extends
         wb.close();
     }
 
-    @SuppressWarnings("deprecation")
     @Test
-    public void testDeprecatedMethods() throws Exception {
+    public void testDeprecatedMethods() throws IOException {
         HSSFWorkbook wb = new HSSFWorkbook();
         HSSFSheet sheet = wb.createSheet();
         HSSFRow row = sheet.createRow(0);

Modified: 
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFExternalFunctions.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFExternalFunctions.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- 
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFExternalFunctions.java
 (original)
+++ 
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFExternalFunctions.java
 Mon Mar 21 00:14:21 2016
@@ -24,13 +24,7 @@ import org.apache.poi.ss.formula.BaseTes
  * Tests setting and evaluating user-defined functions in HSSF
  */
 public final class TestHSSFExternalFunctions extends BaseTestExternalFunctions 
{
-
        public TestHSSFExternalFunctions() {
-               super(HSSFITestDataProvider.instance);
+               super(HSSFITestDataProvider.instance, "atp.xls");
        }
-
-    public void testATP(){
-        baseTestInvokeATP("atp.xls");
-    }
-
 }

Modified: 
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestSheetHiding.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestSheetHiding.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestSheetHiding.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestSheetHiding.java 
Mon Mar 21 00:14:21 2016
@@ -20,9 +20,6 @@ package org.apache.poi.hssf.usermodel;
 import org.apache.poi.hssf.HSSFITestDataProvider;
 import org.apache.poi.ss.usermodel.BaseTestSheetHiding;
 
-/**
- * @author Yegor Kozlov
- */
 public final class TestSheetHiding extends BaseTestSheetHiding {
     public TestSheetHiding() {
         super(HSSFITestDataProvider.instance,

Modified: 
poi/trunk/src/testcases/org/apache/poi/ss/formula/BaseTestExternalFunctions.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/BaseTestExternalFunctions.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- 
poi/trunk/src/testcases/org/apache/poi/ss/formula/BaseTestExternalFunctions.java
 (original)
+++ 
poi/trunk/src/testcases/org/apache/poi/ss/formula/BaseTestExternalFunctions.java
 Mon Mar 21 00:14:21 2016
@@ -16,7 +16,10 @@
 ==================================================================== */
 package org.apache.poi.ss.formula;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.formula.eval.ErrorEval;
 import org.apache.poi.ss.formula.eval.NotImplementedException;
@@ -30,13 +33,12 @@ import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.FormulaEvaluator;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.junit.Test;
 
 /**
  * Test setting / evaluating of Analysis Toolpack and user-defined functions
- *
- * @author Yegor Kozlov
  */
-public class BaseTestExternalFunctions extends TestCase {
+public class BaseTestExternalFunctions {
     // define two custom user-defined functions
     private static class MyFunc implements FreeRefFunction {
         public MyFunc() {
@@ -75,34 +77,37 @@ public class BaseTestExternalFunctions e
     );
 
 
-    protected final ITestDataProvider _testDataProvider;
+    private final ITestDataProvider _testDataProvider;
+    private final String atpFile;
 
     /**
      * @param testDataProvider an object that provides test data in HSSF / 
XSSF specific way
      */
-    protected BaseTestExternalFunctions(ITestDataProvider testDataProvider) {
+    protected BaseTestExternalFunctions(ITestDataProvider testDataProvider, 
String atpFile) {
         _testDataProvider = testDataProvider;
+        this.atpFile = atpFile;
     }
 
-    public void testExternalFunctions() {
+    @Test
+    public void testExternalFunctions() throws IOException {
         Workbook wb = _testDataProvider.createWorkbook();
         FormulaEvaluator evaluator = 
wb.getCreationHelper().createFormulaEvaluator();
 
         Sheet sh = wb.createSheet();
 
         Cell cell1 = sh.createRow(0).createCell(0);
-        cell1.setCellFormula("ISODD(1)+ISEVEN(2)"); // functions from the 
Excel Analysis Toolpack
+        // functions from the Excel Analysis Toolpack
+        cell1.setCellFormula("ISODD(1)+ISEVEN(2)");
         assertEquals("ISODD(1)+ISEVEN(2)", cell1.getCellFormula());
 
         Cell cell2 = sh.createRow(1).createCell(0);
-        cell2.setCellFormula("MYFUNC(\"B1\")"); //unregistered functions are 
parseable and renderable, but may not be evaluateable
+        // unregistered functions are parseable and renderable, but may not be 
evaluateable
+        cell2.setCellFormula("MYFUNC(\"B1\")"); 
         try {
             evaluator.evaluate(cell2);
             fail("Expected 
NotImplementedFunctionException/NotImplementedException");
         } catch (final NotImplementedException e) {
-            if (!(e.getCause() instanceof NotImplementedFunctionException))
-                throw e;
-            // expected
+            assertTrue(e.getCause() instanceof 
NotImplementedFunctionException);
             // Alternatively, a future implementation of evaluate could return 
#NAME? error to align behavior with Excel
             // assertEquals(ErrorEval.NAME_INVALID, 
ErrorEval.valueOf(evaluator.evaluate(cell2).getErrorValue()));
         }
@@ -116,10 +121,11 @@ public class BaseTestExternalFunctions e
         cell3.setCellFormula("MYFUNC2(\"C1\")&\"-\"&A2");  //where A2 is 
defined above
         assertEquals("MYFUNC2(\"C1\")&\"-\"&A2", cell3.getCellFormula());
 
-        assertEquals(2.0, evaluator.evaluate(cell1).getNumberValue());
+        assertEquals(2.0, evaluator.evaluate(cell1).getNumberValue(), 0);
         assertEquals("B1abc", evaluator.evaluate(cell2).getStringValue());
         assertEquals("C1abc2-B1abc", 
evaluator.evaluate(cell3).getStringValue());
 
+        wb.close();
     }
 
     /**
@@ -127,12 +133,13 @@ public class BaseTestExternalFunctions e
      *
      * @param testFile  either atp.xls or atp.xlsx
      */
-    public void baseTestInvokeATP(String testFile){
-        Workbook wb = _testDataProvider.openSampleWorkbook(testFile);
+    @Test
+    public void baseTestInvokeATP() throws IOException {
+        Workbook wb = _testDataProvider.openSampleWorkbook(atpFile);
         FormulaEvaluator evaluator = 
wb.getCreationHelper().createFormulaEvaluator();
 
         Sheet sh  = wb.getSheetAt(0);
-        // these two are not imlemented in r
+        // these two are not implemented in r
         assertEquals("DELTA(1.3,1.5)", 
sh.getRow(0).getCell(1).getCellFormula());
         assertEquals("COMPLEX(2,4)", sh.getRow(1).getCell(1).getCellFormula());
 
@@ -146,6 +153,7 @@ public class BaseTestExternalFunctions e
         assertEquals(true, evaluator.evaluate(cell3).getBooleanValue());
         assertEquals(Cell.CELL_TYPE_BOOLEAN, 
evaluator.evaluateFormulaCell(cell3));
 
+        wb.close();
     }
 
 }

Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java Mon 
Mar 21 00:14:21 2016
@@ -17,6 +17,7 @@
 
 package org.apache.poi.ss.usermodel;
 
+import static org.apache.poi.ss.usermodel.FormulaError.forInt;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -25,38 +26,22 @@ import static org.junit.Assert.assertTru
 import static org.junit.Assert.fail;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Calendar;
-import java.util.List;
 
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.util.LocaleUtil;
-import org.junit.After;
 import org.junit.Test;
 
-import junit.framework.AssertionFailedError;
-
 /**
  * Common superclass for testing implementations of
  *  {@link org.apache.poi.ss.usermodel.Cell}
  */
-@SuppressWarnings("deprecation")
 public abstract class BaseTestCell {
 
     protected final ITestDataProvider _testDataProvider;
 
-    private List<Workbook> workbooksToClose = new ArrayList<Workbook>(); 
-
-    @After
-    public void tearDown() throws IOException {
-        // free resources correctly
-        for(Workbook wb : workbooksToClose) {
-            wb.close();
-        }
-    }
-
     /**
      * @param testDataProvider an object that provides test data in HSSF / 
XSSF specific way
      */
@@ -307,7 +292,7 @@ public abstract class BaseTestCell {
         r.createCell(0).setCellValue(true);
         r.createCell(1).setCellValue(1.5);
         r.createCell(2).setCellValue(factory.createRichTextString("Astring"));
-        r.createCell(3).setCellErrorValue((byte)ErrorConstants.ERROR_DIV_0);
+        r.createCell(3).setCellErrorValue(FormulaError.DIV0.getCode());
         r.createCell(4).setCellFormula("A1+B1");
 
         assertEquals("Boolean", "TRUE", r.getCell(0).toString());
@@ -364,9 +349,7 @@ public abstract class BaseTestCell {
 
     }
 
-    private Cell createACell() {
-        Workbook wb = _testDataProvider.createWorkbook();
-        workbooksToClose.add(wb);
+    private Cell createACell(Workbook wb) {
         return wb.createSheet("Sheet1").createRow(0).createCell(0);
     }
     
@@ -410,17 +393,15 @@ public abstract class BaseTestCell {
     }
 
     @Test
-    public void testChangeTypeStringToBool() {
-        Cell cell = createACell();
+    public void testChangeTypeStringToBool() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
+
+        Cell cell = createACell(wb);
 
         cell.setCellValue("TRUE");
         assertEquals(Cell.CELL_TYPE_STRING, cell.getCellType());
-        try {
-            cell.setCellType(Cell.CELL_TYPE_BOOLEAN);
-        } catch (ClassCastException e) {
-            throw new AssertionFailedError(
-                    "Identified bug in conversion of cell from text to 
boolean");
-        }
+        // test conversion of cell from text to boolean
+        cell.setCellType(Cell.CELL_TYPE_BOOLEAN);
 
         assertEquals(Cell.CELL_TYPE_BOOLEAN, cell.getCellType());
         assertEquals(true, cell.getBooleanCellValue());
@@ -434,52 +415,51 @@ public abstract class BaseTestCell {
         assertEquals(false, cell.getBooleanCellValue());
         cell.setCellType(Cell.CELL_TYPE_STRING);
         assertEquals("FALSE", cell.getRichStringCellValue().getString());
+        
+        wb.close();
     }
 
     @Test
-    public void testChangeTypeBoolToString() {
-        Cell cell = createACell();
+    public void testChangeTypeBoolToString() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
+
+        Cell cell = createACell(wb);
 
         cell.setCellValue(true);
-        try {
-            cell.setCellType(Cell.CELL_TYPE_STRING);
-        } catch (IllegalStateException e) {
-            if (e.getMessage().equals("Cannot get a text value from a boolean 
cell")) {
-                throw new AssertionFailedError(
-                        "Identified bug in conversion of cell from boolean to 
text");
-            }
-            throw e;
-        }
+        // test conversion of cell from boolean to text
+        cell.setCellType(Cell.CELL_TYPE_STRING);
         assertEquals("TRUE", cell.getRichStringCellValue().getString());
+        
+        wb.close();
     }
 
     @Test
-    public void testChangeTypeErrorToNumber() {
-        Cell cell = createACell();
-        cell.setCellErrorValue((byte)ErrorConstants.ERROR_NAME);
+    public void testChangeTypeErrorToNumber() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
+
+        Cell cell = createACell(wb);
+        cell.setCellErrorValue(FormulaError.NAME.getCode());
         try {
             cell.setCellValue(2.5);
         } catch (ClassCastException e) {
-            throw new AssertionFailedError("Identified bug 46479b");
+            fail("Identified bug 46479b");
         }
         assertEquals(2.5, cell.getNumericCellValue(), 0.0);
+        
+        wb.close();
     }
 
     @Test
-    public void testChangeTypeErrorToBoolean() {
-        Cell cell = createACell();
-        cell.setCellErrorValue((byte)ErrorConstants.ERROR_NAME);
-        cell.setCellValue(true);
-        try {
-            cell.getBooleanCellValue();
-        } catch (IllegalStateException e) {
-            if (e.getMessage().equals("Cannot get a boolean value from a error 
cell")) {
+    public void testChangeTypeErrorToBoolean() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
 
-                throw new AssertionFailedError("Identified bug 46479c");
-            }
-            throw e;
-        }
+        Cell cell = createACell(wb);
+        cell.setCellErrorValue(FormulaError.NAME.getCode());
+        cell.setCellValue(true);
+        // Identify bug 46479c
         assertEquals(true, cell.getBooleanCellValue());
+        
+        wb.close();
     }
 
     /**
@@ -488,8 +468,10 @@ public abstract class BaseTestCell {
      * string result type.
      */
     @Test
-    public void testConvertStringFormulaCell() {
-        Cell cellA1 = createACell();
+    public void testConvertStringFormulaCell() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
+
+        Cell cellA1 = createACell(wb);
         cellA1.setCellFormula("\"abc\"");
 
         // default cached formula result is numeric zero
@@ -501,10 +483,10 @@ public abstract class BaseTestCell {
         assertEquals("abc", cellA1.getStringCellValue());
 
         fe.evaluateInCell(cellA1);
-        if (cellA1.getStringCellValue().equals("")) {
-            throw new AssertionFailedError("Identified bug with writing back 
formula result of type string");
-        }
+        assertFalse("Identified bug with writing back formula result of type 
string", cellA1.getStringCellValue().equals(""));
         assertEquals("abc", cellA1.getStringCellValue());
+        
+        wb.close();
     }
     
     /**
@@ -512,8 +494,10 @@ public abstract class BaseTestCell {
      * lower level that {#link {@link Cell#setCellType(int)} works properly
      */
     @Test
-    public void testSetTypeStringOnFormulaCell() {
-        Cell cellA1 = createACell();
+    public void testSetTypeStringOnFormulaCell() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
+
+        Cell cellA1 = createACell(wb);
         FormulaEvaluator fe = 
cellA1.getSheet().getWorkbook().getCreationHelper().createFormulaEvaluator();
 
         cellA1.setCellFormula("\"DEF\"");
@@ -543,9 +527,11 @@ public abstract class BaseTestCell {
         fe.clearAllCachedResultValues();
         fe.evaluateFormulaCell(cellA1);
         confirmCannotReadString(cellA1);
-        assertEquals(ErrorConstants.ERROR_NAME, cellA1.getErrorCellValue());
+        assertEquals(FormulaError.NAME, forInt(cellA1.getErrorCellValue()));
         cellA1.setCellType(Cell.CELL_TYPE_STRING);
         assertEquals("#NAME?", cellA1.getStringCellValue());
+        
+        wb.close();
     }
 
     private static void confirmCannotReadString(Cell cell) {
@@ -556,15 +542,17 @@ public abstract class BaseTestCell {
      * Test for bug in convertCellValueToBoolean to make sure that formula 
results get converted
      */
     @Test
-    public void testChangeTypeFormulaToBoolean() {
-        Cell cell = createACell();
+    public void testChangeTypeFormulaToBoolean() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
+
+        Cell cell = createACell(wb);
         cell.setCellFormula("1=1");
         cell.setCellValue(true);
         cell.setCellType(Cell.CELL_TYPE_BOOLEAN);
-        if (cell.getBooleanCellValue() == false) {
-            throw new AssertionFailedError("Identified bug 46479d");
-        }
+        assertTrue("Identified bug 46479d", cell.getBooleanCellValue());
         assertEquals(true, cell.getBooleanCellValue());
+        
+        wb.close();
     }
 
     /**
@@ -664,17 +652,17 @@ public abstract class BaseTestCell {
         Cell cell0 = row.createCell(0);
         cell0.setCellValue(Double.NaN);
         assertEquals("Double.NaN should change cell type to CELL_TYPE_ERROR", 
Cell.CELL_TYPE_ERROR, cell0.getCellType());
-        assertEquals("Double.NaN should change cell value to #NUM!", 
ErrorConstants.ERROR_NUM, cell0.getErrorCellValue());
+        assertEquals("Double.NaN should change cell value to #NUM!", 
FormulaError.NUM, forInt(cell0.getErrorCellValue()));
 
         Cell cell1 = row.createCell(1);
         cell1.setCellValue(Double.POSITIVE_INFINITY);
         assertEquals("Double.POSITIVE_INFINITY should change cell type to 
CELL_TYPE_ERROR", Cell.CELL_TYPE_ERROR, cell1.getCellType());
-        assertEquals("Double.POSITIVE_INFINITY should change cell value to 
#DIV/0!", ErrorConstants.ERROR_DIV_0, cell1.getErrorCellValue());
+        assertEquals("Double.POSITIVE_INFINITY should change cell value to 
#DIV/0!", FormulaError.DIV0, forInt(cell1.getErrorCellValue()));
 
         Cell cell2 = row.createCell(2);
         cell2.setCellValue(Double.NEGATIVE_INFINITY);
         assertEquals("Double.NEGATIVE_INFINITY should change cell type to 
CELL_TYPE_ERROR", Cell.CELL_TYPE_ERROR, cell2.getCellType());
-        assertEquals("Double.NEGATIVE_INFINITY should change cell value to 
#DIV/0!", ErrorConstants.ERROR_DIV_0, cell2.getErrorCellValue());
+        assertEquals("Double.NEGATIVE_INFINITY should change cell value to 
#DIV/0!", FormulaError.DIV0, forInt(cell2.getErrorCellValue()));
 
         Workbook wb2 = _testDataProvider.writeOutAndReadBack(wb1);
         wb1.close();
@@ -682,15 +670,15 @@ public abstract class BaseTestCell {
 
         cell0 = row.getCell(0);
         assertEquals(Cell.CELL_TYPE_ERROR, cell0.getCellType());
-        assertEquals(ErrorConstants.ERROR_NUM, cell0.getErrorCellValue());
+        assertEquals(FormulaError.NUM, forInt(cell0.getErrorCellValue()));
 
         cell1 = row.getCell(1);
         assertEquals(Cell.CELL_TYPE_ERROR, cell1.getCellType());
-        assertEquals(ErrorConstants.ERROR_DIV_0, cell1.getErrorCellValue());
+        assertEquals(FormulaError.DIV0, forInt(cell1.getErrorCellValue()));
 
         cell2 = row.getCell(2);
         assertEquals(Cell.CELL_TYPE_ERROR, cell2.getCellType());
-        assertEquals(ErrorConstants.ERROR_DIV_0, cell2.getErrorCellValue());
+        assertEquals(FormulaError.DIV0, forInt(cell2.getErrorCellValue()));
         wb2.close();
     }
 

Modified: 
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestNamedRange.java 
Mon Mar 21 00:14:21 2016
@@ -24,13 +24,14 @@ import static org.junit.Assert.assertNul
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import java.io.IOException;
+import java.util.List;
+
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.util.AreaReference;
 import org.apache.poi.ss.util.CellReference;
 import org.junit.Test;
 
-import java.util.List;
-
 /**
  * Tests of implementations of {@link org.apache.poi.ss.usermodel.Name}.
  *
@@ -647,7 +648,7 @@ public abstract class BaseTestNamedRange
     }
 
     @Test
-    public void testBug56930() {
+    public void testBug56930() throws IOException {
         Workbook wb = _testDataProvider.createWorkbook();
 
         // x1 on sheet1 defines "x=1"
@@ -673,5 +674,7 @@ public abstract class BaseTestNamedRange
         assertEquals("1", wb.getName("x").getRefersToFormula());
         wb.removeName("x");
         assertEquals("2", wb.getName("x").getRefersToFormula());
+        
+        wb.close();
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java Mon 
Mar 21 00:14:21 2016
@@ -17,9 +17,13 @@
 
 package org.apache.poi.ss.usermodel;
 
-import static junit.framework.TestCase.assertNotNull;
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.*;
+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.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.io.IOException;
 import java.util.Iterator;
@@ -266,11 +270,11 @@ public abstract class BaseTestSheet {
     }
     
     /**
-     * Dissallow creating wholly or partially overlapping merged regions
+     * Disallow creating wholly or partially overlapping merged regions
      * as this results in a corrupted workbook
      */
     @Test
-    public void addOverlappingMergedRegions() {
+    public void addOverlappingMergedRegions() throws IOException {
         final Workbook wb = _testDataProvider.createWorkbook();
         final Sheet sheet = wb.createSheet();
         
@@ -282,14 +286,14 @@ public abstract class BaseTestSheet {
             sheet.addMergedRegion(duplicateRegion);
             fail("Should not be able to add a merged region (" + 
duplicateRegion.formatAsString() + ") " +
                  "if sheet already contains the same merged region (" + 
baseRegion.formatAsString() + ")");
-        } catch (final IllegalStateException e) { } //expected
+        } catch (final IllegalStateException e) { }
         
         try {
             final CellRangeAddress partiallyOverlappingRegion = new 
CellRangeAddress(1, 2, 1, 2); //B2:C3
             sheet.addMergedRegion(partiallyOverlappingRegion);
             fail("Should not be able to add a merged region (" + 
partiallyOverlappingRegion.formatAsString() + ") " +
                  "if it partially overlaps with an existing merged region (" + 
baseRegion.formatAsString() + ")");
-        } catch (final IllegalStateException e) { } //expected
+        } catch (final IllegalStateException e) { }
         
         try {
             final CellRangeAddress subsetRegion = new CellRangeAddress(0, 1, 
0, 0); //A1:A2
@@ -303,10 +307,12 @@ public abstract class BaseTestSheet {
             sheet.addMergedRegion(supersetRegion);
             fail("Should not be able to add a merged region (" + 
supersetRegion.formatAsString() + ") " +
                  "if it is a formal superset of an existing merged region (" + 
baseRegion.formatAsString() + ")");
-        } catch (final IllegalStateException e) { } //expected
+        } catch (final IllegalStateException e) { }
         
         final CellRangeAddress disjointRegion = new CellRangeAddress(10, 11, 
10, 11);
-        sheet.addMergedRegion(disjointRegion); //allowed
+        sheet.addMergedRegion(disjointRegion);
+        
+        wb.close();
     }
 
     /*

Modified: 
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetHiding.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetHiding.java?rev=1735912&r1=1735911&r2=1735912&view=diff
==============================================================================
--- 
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetHiding.java 
(original)
+++ 
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetHiding.java 
Mon Mar 21 00:14:21 2016
@@ -17,13 +17,19 @@
 
 package org.apache.poi.ss.usermodel;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
 
 import org.apache.poi.ss.ITestDataProvider;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-/**
- */
-public abstract class BaseTestSheetHiding extends TestCase {
+public abstract class BaseTestSheetHiding {
 
        protected final ITestDataProvider _testDataProvider;
     protected Workbook wbH;
@@ -41,15 +47,22 @@ public abstract class BaseTestSheetHidin
         _file2 = file2;
     }
 
-    protected void setUp() {
+       @Before
+    public void setUp() {
         wbH = _testDataProvider.openSampleWorkbook(_file1);
         wbU = _testDataProvider.openSampleWorkbook(_file2);
     }
 
-
-    public final void testSheetHidden() {
+       @After
+       public void teadDown() throws IOException {
+           wbH.close();
+           wbU.close();
+       }
+       
+       @Test
+    public final void testSheetHidden() throws IOException {
         Workbook wb = _testDataProvider.createWorkbook();
-        Sheet sh = wb.createSheet("MySheet");
+        wb.createSheet("MySheet");
 
         assertFalse(wb.isSheetHidden(0));
         assertFalse(wb.isSheetVeryHidden(0));
@@ -78,6 +91,8 @@ public abstract class BaseTestSheetHidin
         } catch (IllegalArgumentException e){
             // ok
         }
+
+        wb.close();
     }
 
     /**
@@ -85,6 +100,7 @@ public abstract class BaseTestSheetHidin
      *  with the right text on them, no matter what
      *  the hidden flags are
      */
+       @Test
     public void testTextSheets() {
         // Both should have two sheets
         assertEquals(2, wbH.getNumberOfSheets());
@@ -113,6 +129,7 @@ public abstract class BaseTestSheetHidin
      * Check that we can get and set the hidden flags
      *  as expected
      */
+       @Test
     public void testHideUnHideFlags() {
         assertTrue(wbH.isSheetHidden(0));
         assertFalse(wbH.isSheetHidden(1));
@@ -124,25 +141,29 @@ public abstract class BaseTestSheetHidin
      * Turn the sheet with none hidden into the one with
      *  one hidden
      */
-    public void testHide() {
+       @Test
+    public void testHide() throws IOException {
         wbU.setSheetHidden(0, true);
         assertTrue(wbU.isSheetHidden(0));
         assertFalse(wbU.isSheetHidden(1));
         Workbook wb2 = _testDataProvider.writeOutAndReadBack(wbU);
         assertTrue(wb2.isSheetHidden(0));
         assertFalse(wb2.isSheetHidden(1));
+        wb2.close();
     }
 
     /**
      * Turn the sheet with one hidden into the one with
      *  none hidden
      */
-    public void testUnHide() {
+       @Test
+    public void testUnHide() throws IOException {
         wbH.setSheetHidden(0, false);
         assertFalse(wbH.isSheetHidden(0));
         assertFalse(wbH.isSheetHidden(1));
         Workbook wb2 = _testDataProvider.writeOutAndReadBack(wbH);
         assertFalse(wb2.isSheetHidden(0));
         assertFalse(wb2.isSheetHidden(1));
+        wb2.close();
     }
 }
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to