diff options
author | Javen O'Neal <onealj@apache.org> | 2015-11-30 04:38:04 +0000 |
---|---|---|
committer | Javen O'Neal <onealj@apache.org> | 2015-11-30 04:38:04 +0000 |
commit | 916dcd547c232946de08ddfc237b3bfa8a4785ef (patch) | |
tree | d7d78b291dccddbc472e4243f197444c6dd204f7 | |
parent | 0a02cc5053b8b3a0944878d947e6cea21fc92c75 (diff) | |
download | poi-916dcd547c232946de08ddfc237b3bfa8a4785ef.tar.gz poi-916dcd547c232946de08ddfc237b3bfa8a4785ef.zip |
break testBoolErr into 2 unit tests. The test shouldn't be aware of the underlying implementation for HSSFRows, and shorter tests are better
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1717163 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java | 79 |
1 files changed, 63 insertions, 16 deletions
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java index ebefb4358c..3fc7fd669a 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestCell.java @@ -23,6 +23,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.junit.Assume.assumeTrue; import java.io.IOException; import java.util.Calendar; @@ -140,46 +141,92 @@ public abstract class BaseTestCell { } /** - * test that Boolean and Error types (BoolErrRecord) are supported properly. + * test that Boolean (BoolErrRecord) are supported properly. + * @see testErr */ @Test - public void testBoolErr() throws Exception { + public void testBool() throws IOException { Workbook wb1 = _testDataProvider.createWorkbook(); Sheet s = wb1.createSheet("testSheet1"); Row r; Cell c; + // B1 r = s.createRow(0); c=r.createCell(1); - //c.setCellType(HSSFCell.CELL_TYPE_BOOLEAN); + assumeTrue(0 == c.getRowIndex()); + assumeTrue(1 == c.getColumnIndex()); c.setCellValue(true); + // C1 c=r.createCell(2); - //c.setCellType(HSSFCell.CELL_TYPE_BOOLEAN); + assumeTrue(0 == c.getRowIndex()); + assumeTrue(2 == c.getColumnIndex()); c.setCellValue(false); + Workbook wb2 = _testDataProvider.writeOutAndReadBack(wb1); + wb1.close(); + + s = wb2.getSheet("testSheet1"); + r = s.getRow(0); + assumeTrue("Row 1 should have 2 cells", 2 == r.getPhysicalNumberOfCells()); + + c = r.getCell(1); + assumeTrue(0 == c.getRowIndex()); + assumeTrue(1 == c.getColumnIndex()); + assertEquals(Cell.CELL_TYPE_BOOLEAN, c.getCellType()); + assertEquals("B1 value", true, c.getBooleanCellValue()); + + c = r.getCell(2); + assumeTrue(0 == c.getRowIndex()); + assumeTrue(2 == c.getColumnIndex()); + assertEquals(Cell.CELL_TYPE_BOOLEAN, c.getCellType()); + assertEquals("C1 value", false, c.getBooleanCellValue()); + + wb2.close(); + } + + /** + * test that Error types (BoolErrRecord) are supported properly. + * @see testBool + */ + @Test + public void testErr() throws IOException { + + Workbook wb1 = _testDataProvider.createWorkbook(); + Sheet s = wb1.createSheet("testSheet1"); + Row r; + Cell c; + + // B1 r = s.createRow(1); c=r.createCell(1); - //c.setCellType(HSSFCell.CELL_TYPE_ERROR); - c.setCellErrorValue((byte)0); + assumeTrue(0 == c.getRowIndex()); + assumeTrue(1 == c.getColumnIndex()); + c.setCellErrorValue(FormulaError.NULL.getCode()); + // C1 c=r.createCell(2); - //c.setCellType(HSSFCell.CELL_TYPE_ERROR); - c.setCellErrorValue((byte)7); + assumeTrue(0 == c.getRowIndex()); + assumeTrue(2 == c.getColumnIndex()); + c.setCellErrorValue(FormulaError.DIV0.getCode()); Workbook wb2 = _testDataProvider.writeOutAndReadBack(wb1); wb1.close(); - s = wb2.getSheetAt(0); + + s = wb2.getSheet("testSheet1"); + r = s.getRow(0); + assumeTrue("Row 1 should have 2 cells", 2 == r.getPhysicalNumberOfCells()); + c = r.getCell(1); - assertTrue("boolean value 0,1 = true",c.getBooleanCellValue()); - c = r.getCell(2); - assertTrue("boolean value 0,2 = false",c.getBooleanCellValue()==false); - r = s.getRow(1); - c = r.getCell(1); - assertTrue("boolean value 0,1 = 0",c.getErrorCellValue() == 0); + assertEquals(Cell.CELL_TYPE_ERROR, c.getCellType()); + assertEquals("B2 value == #NULL!", FormulaError.NULL.getCode(), c.getErrorCellValue()); + c = r.getCell(2); - assertTrue("boolean value 0,2 = 7",c.getErrorCellValue() == 7); + assertEquals(Cell.CELL_TYPE_ERROR, c.getCellType()); + assertEquals("C2 value == #DIV/0!", FormulaError.DIV0.getCode(), c.getErrorCellValue()); + wb2.close(); } |