aboutsummaryrefslogtreecommitdiffstats
path: root/src/testcases
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2018-05-01 14:47:29 +0000
committerPJ Fanning <fanningpj@apache.org>2018-05-01 14:47:29 +0000
commite73282a9e8425d5bc320696f68683a70c9de137e (patch)
tree64a31bc5f515ed2a60a9781b5dae9ee1d07b5a87 /src/testcases
parentf2ad373bf4f43e13240269c16ee96169f31b4524 (diff)
downloadpoi-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.java1
-rw-r--r--src/testcases/org/apache/poi/ss/formula/functions/TestAreas.java42
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());
+ }
+}