Apply patch from bug #51809 - correct GTE handling in COUNTIF

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1170652 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2011-09-14 14:41:03 +00:00
parent f716fe1822
commit a75bc22211
3 changed files with 10 additions and 1 deletions

View File

@ -34,6 +34,7 @@
<changes> <changes>
<release version="3.8-beta5" date="2011-??-??"> <release version="3.8-beta5" date="2011-??-??">
<action dev="poi-developers" type="fix">51809 - correct GTE handling in COUNTIF</action>
<action dev="poi-developers" type="add">Add HWPF API to update range text and delete bookmarks</action> <action dev="poi-developers" type="add">Add HWPF API to update range text and delete bookmarks</action>
<action dev="poi-developers" type="add">HWPF Bookmarks tables are correctly updated on text updates</action> <action dev="poi-developers" type="add">HWPF Bookmarks tables are correctly updated on text updates</action>
<action dev="poi-developers" type="add">51670 - avoid LeftoverDataException when reading .xls files with invalid LabelRecords</action> <action dev="poi-developers" type="add">51670 - avoid LeftoverDataException when reading .xls files with invalid LabelRecords</action>

View File

@ -133,7 +133,7 @@ public final class Countif extends Fixed2ArgFunction {
case LT: return cmpResult < 0; case LT: return cmpResult < 0;
case LE: return cmpResult <= 0; case LE: return cmpResult <= 0;
case GT: return cmpResult > 0; case GT: return cmpResult > 0;
case GE: return cmpResult <= 0; case GE: return cmpResult >= 0;
} }
throw new RuntimeException("Cannot call boolean evaluate on non-equality operator '" throw new RuntimeException("Cannot call boolean evaluate on non-equality operator '"
+ _representation + "'"); + _representation + "'");

View File

@ -61,6 +61,14 @@ public final class TestSumif extends TestCase {
confirm(60.0, arg0, new NumberEval(30.0)); confirm(60.0, arg0, new NumberEval(30.0));
confirm(70.0, arg0, new NumberEval(30.0), arg2); confirm(70.0, arg0, new NumberEval(30.0), arg2);
confirm(100.0, arg0, new StringEval(">45")); confirm(100.0, arg0, new StringEval(">45"));
confirm(100.0, arg0, new StringEval(">=45"));
confirm(100.0, arg0, new StringEval(">=50.0"));
confirm(140.0, arg0, new StringEval("<45"));
confirm(140.0, arg0, new StringEval("<=45"));
confirm(140.0, arg0, new StringEval("<=40.0"));
confirm(160.0, arg0, new StringEval("<>40.0"));
confirm(80.0, arg0, new StringEval("=40.0"));
} }
private static void confirm(double expectedResult, ValueEval...args) { private static void confirm(double expectedResult, ValueEval...args) {