]> source.dussan.org Git - poi.git/commitdiff
Apply patch from bug #51809 - correct GTE handling in COUNTIF
authorNick Burch <nick@apache.org>
Wed, 14 Sep 2011 14:41:03 +0000 (14:41 +0000)
committerNick Burch <nick@apache.org>
Wed, 14 Sep 2011 14:41:03 +0000 (14:41 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1170652 13f79535-47bb-0310-9956-ffa450edef68

src/documentation/content/xdocs/status.xml
src/java/org/apache/poi/ss/formula/functions/Countif.java
src/testcases/org/apache/poi/ss/formula/functions/TestSumif.java

index 039edc3251dcf23303bf20f70559888aa3ca45c4..be005a1d78fc2c966a3679c3c28df0c6b114bb44 100644 (file)
@@ -34,6 +34,7 @@
 
     <changes>
         <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">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>
index 2b7601c871201703b130ce6b3b31980e040a0fac..173f6a1e77980c6c2e67e9cd8bd826f81f8dc9bb 100644 (file)
@@ -133,7 +133,7 @@ public final class Countif extends Fixed2ArgFunction {
                                case LT: return cmpResult <  0;
                                case LE: 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 '"
                                        + _representation + "'");
index 1ef090ea4f3985e3f650f19d0c02a50d9b1db8e9..6cee5eab7cfd910b6e347cd506e434a298ffcda2 100644 (file)
@@ -61,6 +61,14 @@ public final class TestSumif extends TestCase {
                confirm(60.0, arg0, new NumberEval(30.0));
                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(">=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) {