diff options
author | PJ Fanning <fanningpj@apache.org> | 2018-05-01 14:47:29 +0000 |
---|---|---|
committer | PJ Fanning <fanningpj@apache.org> | 2018-05-01 14:47:29 +0000 |
commit | e73282a9e8425d5bc320696f68683a70c9de137e (patch) | |
tree | 64a31bc5f515ed2a60a9781b5dae9ee1d07b5a87 /src/testcases | |
parent | f2ad373bf4f43e13240269c16ee96169f31b4524 (diff) | |
download | poi-e73282a9e8425d5bc320696f68683a70c9de137e.tar.gz poi-e73282a9e8425d5bc320696f68683a70c9de137e.zip |
[githib-107] add areas function support. Thanks to Inji Hanbin. This closes #107
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1830685 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/testcases')
-rw-r--r-- | src/testcases/org/apache/poi/ss/formula/functions/AllIndividualFunctionEvaluationTests.java | 1 | ||||
-rw-r--r-- | src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java | 42 |
2 files changed, 43 insertions, 0 deletions
diff --git a/src/testcases/org/apache/poi/ss/formula/functions/AllIndividualFunctionEvaluationTests.java b/src/testcases/org/apache/poi/ss/formula/functions/AllIndividualFunctionEvaluationTests.java index 272c51a398..bbcf2829d8 100644 --- a/src/testcases/org/apache/poi/ss/formula/functions/AllIndividualFunctionEvaluationTests.java +++ b/src/testcases/org/apache/poi/ss/formula/functions/AllIndividualFunctionEvaluationTests.java @@ -57,6 +57,7 @@ import org.junit.runners.Suite; TestValue.class, TestXYNumericFunction.class, TestAddress.class, + TestAreas.class, TestClean.class }) public class AllIndividualFunctionEvaluationTests { diff --git a/src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java b/src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java new file mode 100644 index 0000000000..f2cba46488 --- /dev/null +++ b/src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java @@ -0,0 +1,42 @@ +package org.apache.poi.ss.formula.functions; + +import junit.framework.TestCase; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.formula.eval.ErrorEval; +import org.apache.poi.ss.formula.eval.NumberEval; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.CellValue; + +public final class TestAreas extends TestCase { + + public void testAreas() { + HSSFWorkbook wb = new HSSFWorkbook(); + HSSFCell cell = wb.createSheet().createRow(0).createCell(0); + HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb); + + String formulaText = "AREAS(B1)"; + confirmResult(fe, cell, formulaText,1.0); + + formulaText = "AREAS(B2:D4)"; + confirmResult(fe, cell, formulaText,1.0); + + formulaText = "AREAS((B2:D4,E5,F6:I9))"; + confirmResult(fe, cell, formulaText,3.0); + + formulaText = "AREAS((B2:D4,E5,C3,E4))"; + confirmResult(fe, cell, formulaText,4.0); + + formulaText = "AREAS((I9))"; + confirmResult(fe, cell, formulaText,1.0); + } + + private static void confirmResult(HSSFFormulaEvaluator fe, HSSFCell cell, String formulaText,Double expectedResult) { + cell.setCellFormula(formulaText); + fe.notifyUpdateCell(cell); + CellValue result = fe.evaluate(cell); + assertEquals(result.getCellTypeEnum(), CellType.NUMERIC); + assertEquals(expectedResult, result.getNumberValue()); + } +} |