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]
