You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2021/12/06 11:54:39 UTC
svn commit: r1895618 - /poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/atp/TestXMatchFunction.java
Author: fanningpj
Date: Mon Dec 6 11:54:38 2021
New Revision: 1895618
URL: http://svn.apache.org/viewvc?rev=1895618&view=rev
Log:
add xmatch test
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/atp/TestXMatchFunction.java
Modified: poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/atp/TestXMatchFunction.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/atp/TestXMatchFunction.java?rev=1895618&r1=1895617&r2=1895618&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/atp/TestXMatchFunction.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/atp/TestXMatchFunction.java Mon Dec 6 11:54:38 2021
@@ -36,7 +36,7 @@ public class TestXMatchFunction {
//https://support.microsoft.com/en-us/office/xmatch-function-d966da31-7a6b-4a13-a1c6-5a33ed6a0312
@Test
void testMicrosoftExample0() throws IOException {
- try (HSSFWorkbook wb = initWorkbook("Grape")) {
+ try (HSSFWorkbook wb = initNumWorkbook("Grape")) {
HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
HSSFCell cell = wb.getSheetAt(0).getRow(2).createCell(5);
assertDouble(fe, cell, "XMATCH(E3,C3:C7)", 2);
@@ -46,7 +46,7 @@ public class TestXMatchFunction {
@Test
void testMicrosoftExample1() throws IOException {
- try (HSSFWorkbook wb = initWorkbook("Gra?")) {
+ try (HSSFWorkbook wb = initNumWorkbook("Gra?")) {
HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
HSSFCell cell = wb.getSheetAt(0).getRow(2).createCell(5);
assertDouble(fe, cell, "XMATCH(E3,C3:C7,1)", 2);
@@ -57,7 +57,22 @@ public class TestXMatchFunction {
}
}
- private HSSFWorkbook initWorkbook(String lookup) {
+ @Test
+ void testMicrosoftExample2() throws IOException {
+ //the result in this example is correct but the description seems wrong from my testing
+ //the result is based on the position and not a count
+ try (HSSFWorkbook wb = initWorkbook2()) {
+ HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
+ HSSFCell cell = wb.getSheetAt(0).getRow(3).createCell(5);
+ assertDouble(fe, cell, "XMATCH(F2,C3:C9,1)", 4);
+ assertDouble(fe, cell, "XMATCH(F2,C3:C9,-1)", 5);
+ assertError(fe, cell, "XMATCH(F2,C3:C9,2)", FormulaError.NA);
+ assertDouble(fe, cell, "XMATCH(35000,C3:C9,1)", 2);
+ assertDouble(fe, cell, "XMATCH(36000,C3:C9,1)", 1);
+ }
+ }
+
+ private HSSFWorkbook initNumWorkbook(String lookup) {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
addRow(sheet, 0);
@@ -70,4 +85,19 @@ public class TestXMatchFunction {
return wb;
}
+ private HSSFWorkbook initWorkbook2() {
+ HSSFWorkbook wb = new HSSFWorkbook();
+ HSSFSheet sheet = wb.createSheet();
+ addRow(sheet, 0);
+ addRow(sheet, 1, null, "Sales Rep", "Total Sales", null, "Bonus", 15000);
+ addRow(sheet, 2, null, "Michael Neipper", 42000);
+ addRow(sheet, 3, null, "Jan Kotas", 35000);
+ addRow(sheet, 4, null, "Nancy Freehafer", 25000);
+ addRow(sheet, 5, null, "Andrew Cencini", 15901);
+ addRow(sheet, 6, null, "Anne Hellung-Larsen", 13801);
+ addRow(sheet, 7, null, "Nancy Freehafer", 12181);
+ addRow(sheet, 8, null, "Mariya Sergienko", 9201);
+ return wb;
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org