From cf2265d0b0b490c18383e28c18021304e02a6ece Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Tue, 19 Sep 2017 19:19:30 +0000 Subject: [PATCH] Add test to verify that bug 61532 is fixed as far as I see via the changes for bug 61148. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1808932 13f79535-47bb-0310-9956-ffa450edef68 --- .../usermodel/BaseTestFormulaEvaluator.java | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java index 9600b10d27..eda716b82c 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java @@ -17,16 +17,13 @@ package org.apache.poi.ss.usermodel; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.fail; - import java.io.IOException; import org.apache.poi.ss.ITestDataProvider; import org.junit.Test; +import static org.junit.Assert.*; + /** * Common superclass for testing implementation of {@link FormulaEvaluator} */ @@ -600,4 +597,31 @@ public abstract class BaseTestFormulaEvaluator { private Cell getCell(Sheet sheet, int rowNo, int column) { return sheet.getRow(rowNo).getCell(column); } + + @Test + public void testBug61532() throws IOException { + try (Workbook wb = _testDataProvider.createWorkbook()) { + final Cell cell = wb.createSheet().createRow(0).createCell(0); + cell.setCellFormula("1+2"); + + assertEquals(0, (int)cell.getNumericCellValue()); + assertEquals("1+2", cell.toString()); + + FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator(); + + CellValue value = eval.evaluate(cell); + + assertEquals(CellType.NUMERIC, value.getCellType()); + assertEquals(3.0, value.getNumberValue(), 0.01); + assertEquals(CellType.FORMULA, cell.getCellType()); + assertEquals("1+2", cell.getCellFormula()); + assertEquals("1+2", cell.toString()); + + assertNotNull(eval.evaluateInCell(cell)); + + assertEquals("3.0", cell.toString()); + assertEquals(CellType.NUMERIC, cell.getCellType()); + assertEquals(3.0, cell.getNumericCellValue(), 0.01); + } + } }