]> source.dussan.org Git - poi.git/commitdiff
upgrade mockito and byte-buddy
authorPJ Fanning <fanningpj@apache.org>
Thu, 15 Dec 2022 12:06:39 +0000 (12:06 +0000)
committerPJ Fanning <fanningpj@apache.org>
Thu, 15 Dec 2022 12:06:39 +0000 (12:06 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1906012 13f79535-47bb-0310-9956-ffa450edef68

build.gradle
build.xml
poi-ooxml-lite-agent/build.gradle
poi/src/main/java/org/apache/poi/ss/formula/eval/TwoOperandNumericOperation.java
poi/src/test/java/org/apache/poi/ss/formula/functions/TestNumericFunction.java

index 556bdc71c10df8db5e15714165602e83bfd57a1c..f62daf4ad115d5a93903b03b97b6c31e42c2793d 100644 (file)
@@ -121,7 +121,7 @@ subprojects {
         commonsMathVersion = '3.6.1'
         junitVersion = '5.9.0'
         log4jVersion = '2.19.0'
-        mockitoVersion = '4.9.0'
+        mockitoVersion = '4.10.0'
         hamcrestVersion = '2.2'
         xmlbeansVersion = '5.1.1'
         batikVersion = '1.16'
index 168464ed311b371b5efad11942bf61319362890e..ef4f4f4d2eb3ab82eb95ad445c8c930d9a6704cf 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -284,9 +284,9 @@ under the License.
     <dependency prefix="main.jmhAnnotation" artifact="org.openjdk.jmh:jmh-generator-annprocess:1.35" usage="main-tests"/>
     <dependency prefix="main.hamcrest" artifact="org.hamcrest:hamcrest:2.2" usage="main-tests"/>
     <dependency prefix="main.xmlunit" artifact="org.xmlunit:xmlunit-core:2.9.0" usage="main-tests"/>
-    <dependency prefix="main.mockito" artifact="org.mockito:mockito-core:4.9.0" usage="main-tests"/>
-    <dependency prefix="main.byte-buddy" artifact="net.bytebuddy:byte-buddy:1.12.19" usage="main-tests"/>
-    <dependency prefix="main.byte-buddy-agent" artifact="net.bytebuddy:byte-buddy-agent:1.12.19" usage="main-tests"/>
+    <dependency prefix="main.mockito" artifact="org.mockito:mockito-core:4.10.0" usage="main-tests"/>
+    <dependency prefix="main.byte-buddy" artifact="net.bytebuddy:byte-buddy:1.12.20" usage="main-tests"/>
+    <dependency prefix="main.byte-buddy-agent" artifact="net.bytebuddy:byte-buddy-agent:1.12.20" usage="main-tests"/>
     <dependency prefix="main.objenesis" artifact="org.objenesis:objenesis:3.1" usage="main-tests"/>
     <dependency prefix="main.log4j-core" artifact="org.apache.logging.log4j:log4j-core:2.19.0" usage="main-tests"/>
     <dependency prefix="main.commons-logging" artifact="commons-logging:commons-logging:1.2" usage="main-tests"/>
index e5720316c8adcb4cf90a2ffe9bfff2d9df8abf3d..168caf8bf393bd854fd56d9ee8792ef118cdfd9c 100644 (file)
@@ -24,8 +24,8 @@ sourceSets {
 }
 
 dependencies {
-    api 'net.bytebuddy:byte-buddy:1.12.19'
-    api 'net.bytebuddy:byte-buddy-agent:1.12.19'
+    api 'net.bytebuddy:byte-buddy:1.12.20'
+    api 'net.bytebuddy:byte-buddy-agent:1.12.20'
     api "org.apache.xmlbeans:xmlbeans:${xmlbeansVersion}"
 }
 
index 0acd9d1871cd890a4a71468455e71a9637cb30dc..322ee7b0c50c6c372ffc63818d9b234ad53d63e2 100644 (file)
@@ -89,17 +89,19 @@ public abstract class TwoOperandNumericOperation extends Fixed2ArgFunction imple
             if (d1 == 0.0) {
                 throw new EvaluationException(ErrorEval.DIV_ZERO);
             }
-            BigDecimal bd0 = new BigDecimal(NumberToTextConverter.toText(d0));
-            BigDecimal bd1 = new BigDecimal(NumberToTextConverter.toText(d1));
-            return bd0.divide(bd1, MathContext.DECIMAL128).doubleValue();
+            BigDecimal bd0 = new BigDecimal(d0);
+            BigDecimal bd1 = new BigDecimal(d1);
+            BigDecimal result = bd0.divide(bd1, MathContext.DECIMAL128);
+            return Double.parseDouble(NumberToTextConverter.toText(result.doubleValue()));
         }
     };
     public static final Function MultiplyEval = new TwoOperandNumericOperation() {
         @Override
         protected double evaluate(double d0, double d1) {
-            BigDecimal bd0 = new BigDecimal(NumberToTextConverter.toText(d0));
-            BigDecimal bd1 = new BigDecimal(NumberToTextConverter.toText(d1));
-            return bd0.multiply(bd1).doubleValue();
+            BigDecimal bd0 = new BigDecimal(d0);
+            BigDecimal bd1 = new BigDecimal(d1);
+            BigDecimal result = bd0.multiply(bd1);
+            return Double.parseDouble(NumberToTextConverter.toText(result.doubleValue()));
         }
     };
     public static final Function PowerEval = new TwoOperandNumericOperation() {
index f398b9217a346042ec2d96d56f4a45dfd80dd6ee..c857a7f8ef36e4010d93957ffa218fef03438ccc 100644 (file)
@@ -23,6 +23,7 @@ import org.apache.poi.util.LocaleUtil;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
+import java.io.IOException;
 import java.util.Locale;
 
 import static org.apache.poi.ss.util.Utils.assertDouble;
@@ -44,6 +45,15 @@ final class TestNumericFunction {
         assertDouble(fe, cell, "INT(880000000*0.00849/3)", 2490400.0, 0);
     }
 
+    @Test
+    void testMultiply() throws IOException {
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFCell cell = wb.createSheet().createRow(0).createCell(0);
+            HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
+            assertDouble(fe, cell, "1.2*SQRT(5.678)", 2.85942651592937, 0);
+        }
+    }
+
     @Test
     void testSIGN() {
         HSSFWorkbook wb = new HSSFWorkbook();