You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2014/10/07 16:33:15 UTC

git commit: Added proper checking of expected exception in FastMath tests.

Repository: commons-math
Updated Branches:
  refs/heads/master deb5e5298 -> 9d14fe21a


Added proper checking of expected exception in FastMath tests.

Some of the new functions trigger exceptions in the data range used for
tests (overflows near range end, divisions by zero). The FastMath
implementation throws compatible exception in the same cases, this is
now tested correctly.

Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/9d14fe21
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/9d14fe21
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/9d14fe21

Branch: refs/heads/master
Commit: 9d14fe21a4044dafc984e1626ac5f465e35179ee
Parents: deb5e52
Author: Luc Maisonobe <lu...@apache.org>
Authored: Tue Oct 7 16:32:59 2014 +0200
Committer: Luc Maisonobe <lu...@apache.org>
Committed: Tue Oct 7 16:32:59 2014 +0200

----------------------------------------------------------------------
 .../util/FastMathStrictComparisonTest.java      | 22 +++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-math/blob/9d14fe21/src/test/java/org/apache/commons/math3/util/FastMathStrictComparisonTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math3/util/FastMathStrictComparisonTest.java b/src/test/java/org/apache/commons/math3/util/FastMathStrictComparisonTest.java
index 6f0483e..0a4cef5 100644
--- a/src/test/java/org/apache/commons/math3/util/FastMathStrictComparisonTest.java
+++ b/src/test/java/org/apache/commons/math3/util/FastMathStrictComparisonTest.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.commons.math3.exception.MathArithmeticException;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -159,12 +160,23 @@ public class FastMathStrictComparisonTest {
     }
 
     private static void callMethods(Method mathMethod, Method fastMethod,
-            Object[] params, int[] entries) throws IllegalAccessException,
-            InvocationTargetException {
+            Object[] params, int[] entries) throws IllegalAccessException {
         try {
-            Object expected = mathMethod.invoke(mathMethod, params);
-            Object actual = fastMethod.invoke(mathMethod, params);
-            if (!expected.equals(actual)) {
+            Object expected;
+            try {
+                expected = mathMethod.invoke(mathMethod, params);
+            } catch (InvocationTargetException ite) {
+                expected = ite.getCause();
+            }
+            Object actual;
+            try {
+                actual = fastMethod.invoke(mathMethod, params);
+            } catch (InvocationTargetException ite) {
+                actual = ite.getCause();
+            }
+            if (expected instanceof ArithmeticException) {
+                Assert.assertEquals(MathArithmeticException.class, actual.getClass());
+            } else  if (!expected.equals(actual)) {
                 reportFailedResults(mathMethod, params, expected, actual, entries);
             }
         } catch (IllegalArgumentException e) {