This is an automated email from the ASF dual-hosted git repository. aherbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit 51241aff264bf818fc59bf955dda8a12b6b30648 Author: aherbert <aherb...@apache.org> AuthorDate: Wed Jul 15 17:05:17 2020 +0100 Remove Assertions.equals using 0.0 or 0d Cases that require the use of 0.0 to equate -0.0 to 0.0 have been commented. --- .../commons/numbers/angle/PlaneAngleTest.java | 10 +- .../commons/numbers/arrays/CosAngleTest.java | 8 +- .../numbers/arrays/LinearCombinationTest.java | 12 +- .../commons/numbers/arrays/SafeNormTest.java | 6 +- .../BinomialCoefficientDoubleTest.java | 2 +- .../numbers/combinatorics/FactorialDoubleTest.java | 12 +- .../combinatorics/LogBinomialCoefficientTest.java | 2 +- .../numbers/combinatorics/LogFactorialTest.java | 4 +- .../numbers/complex/streams/ComplexUtilsTest.java | 6 +- .../commons/numbers/complex/ComplexTest.java | 16 +-- .../apache/commons/numbers/core/PrecisionTest.java | 158 ++++++++++----------- .../examples/jmh/arrays/DoublePrecisionTest.java | 1 + .../org/apache/commons/numbers/field/FP64Test.java | 16 +-- .../numbers/fraction/ContinuedFractionTest.java | 2 +- .../org/apache/commons/numbers/gamma/ErfTest.java | 8 +- .../numbers/gamma/LanczosApproximationTest.java | 8 +- .../commons/numbers/quaternion/QuaternionTest.java | 72 +++++----- 17 files changed, 171 insertions(+), 172 deletions(-) diff --git a/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/PlaneAngleTest.java b/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/PlaneAngleTest.java index 2b4fcae..bf37b89 100644 --- a/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/PlaneAngleTest.java +++ b/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/PlaneAngleTest.java @@ -27,7 +27,7 @@ class PlaneAngleTest { void testConversionTurns() { final double value = 12.3456; final PlaneAngle a = PlaneAngle.ofTurns(value); - Assertions.assertEquals(value, a.toTurns(), 0d); + Assertions.assertEquals(value, a.toTurns()); } @Test @@ -35,7 +35,7 @@ class PlaneAngleTest { final double one = 2 * Math.PI; final double value = 12.3456 * one; final PlaneAngle a = PlaneAngle.ofRadians(value); - Assertions.assertEquals(value, a.toRadians(), 0d); + Assertions.assertEquals(value, a.toRadians()); } @Test @@ -43,7 +43,7 @@ class PlaneAngleTest { final double one = 360; final double value = 12.3456 * one; final PlaneAngle a = PlaneAngle.ofDegrees(value); - Assertions.assertEquals(value, a.toDegrees(), 0d); + Assertions.assertEquals(value, a.toDegrees()); } @Test @@ -172,10 +172,10 @@ class PlaneAngleTest { @Test void testZero() { - Assertions.assertEquals(0, PlaneAngle.ZERO.toRadians(), 0d); + Assertions.assertEquals(0, PlaneAngle.ZERO.toRadians()); } @Test void testPi() { - Assertions.assertEquals(Math.PI, PlaneAngle.PI.toRadians(), 0d); + Assertions.assertEquals(Math.PI, PlaneAngle.PI.toRadians()); } } diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/CosAngleTest.java b/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/CosAngleTest.java index 697fcc0..90fdcf1 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/CosAngleTest.java +++ b/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/CosAngleTest.java @@ -30,11 +30,11 @@ class CosAngleTest { final double[] v1 = {1, 0}; expected = 1; - Assertions.assertEquals(expected, CosAngle.value(v1, v1), 0d); + Assertions.assertEquals(expected, CosAngle.value(v1, v1)); final double[] v2 = {0, 1}; expected = 0; - Assertions.assertEquals(expected, CosAngle.value(v1, v2), 0d); + Assertions.assertEquals(expected, CosAngle.value(v1, v2)); final double[] v3 = {7, 7}; expected = Math.sqrt(2) / 2; @@ -43,11 +43,11 @@ class CosAngleTest { final double[] v4 = {-5, 0}; expected = -1; - Assertions.assertEquals(expected, CosAngle.value(v1, v4), 0); + Assertions.assertEquals(expected, CosAngle.value(v1, v4)); final double[] v5 = {-100, 100}; expected = 0; - Assertions.assertEquals(expected, CosAngle.value(v3, v5), 0); + Assertions.assertEquals(expected, CosAngle.value(v3, v5)); } @Test diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/LinearCombinationTest.java b/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/LinearCombinationTest.java index fdb5573..6711b0c 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/LinearCombinationTest.java +++ b/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/LinearCombinationTest.java @@ -33,7 +33,7 @@ class LinearCombinationTest { final double[] a = {1.23456789}; final double[] b = {98765432.1}; - Assertions.assertEquals(a[0] * b[0], LinearCombination.value(a, b), 0d); + Assertions.assertEquals(a[0] * b[0], LinearCombination.value(a, b)); } @Test @@ -62,7 +62,7 @@ class LinearCombinationTest { a[1], b[1], a[2], b[2]); final double abSumArray = LinearCombination.value(a, b); - Assertions.assertEquals(abSumInline, abSumArray, 0); + Assertions.assertEquals(abSumInline, abSumArray); // Compare with arbitrary precision computation. BigFraction result = BigFraction.ZERO; @@ -97,19 +97,19 @@ class LinearCombinationTest { sInline = LinearCombination.value(u1, v1, u2, v2); sArray = LinearCombination.value(new double[] {u1, u2}, new double[] {v1, v2}); - Assertions.assertEquals(sInline, sArray, 0); + Assertions.assertEquals(sInline, sArray); // Two sums. sInline = LinearCombination.value(u1, v1, u2, v2, u3, v3); sArray = LinearCombination.value(new double[] {u1, u2, u3}, new double[] {v1, v2, v3}); - Assertions.assertEquals(sInline, sArray, 0); + Assertions.assertEquals(sInline, sArray); // Three sums. sInline = LinearCombination.value(u1, v1, u2, v2, u3, v3, u4, v4); sArray = LinearCombination.value(new double[] {u1, u2, u3, u4}, new double[] {v1, v2, v3, v4}); - Assertions.assertEquals(sInline, sArray, 0); + Assertions.assertEquals(sInline, sArray); } } @@ -139,7 +139,7 @@ class LinearCombinationTest { scaledA[2], scaledB[2]); final double abSumArray = LinearCombination.value(scaledA, scaledB); - Assertions.assertEquals(abSumInline, abSumArray, 0); + Assertions.assertEquals(abSumInline, abSumArray); Assertions.assertEquals(-1.8551294182586248737720779899, abSumInline, 1e-15); final double naive = scaledA[0] * scaledB[0] + scaledA[1] * scaledB[1] + scaledA[2] * scaledB[2]; diff --git a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/SafeNormTest.java b/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/SafeNormTest.java index 293a96c..169c498 100644 --- a/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/SafeNormTest.java +++ b/commons-numbers-arrays/src/test/java/org/apache/commons/numbers/arrays/SafeNormTest.java @@ -47,9 +47,9 @@ class SafeNormTest { @Test void testUnit3D() { - Assertions.assertEquals(1, SafeNorm.value(new double[] {1, 0, 0}), 0d); - Assertions.assertEquals(1, SafeNorm.value(new double[] {0, 1, 0}), 0d); - Assertions.assertEquals(1, SafeNorm.value(new double[] {0, 0, 1}), 0d); + Assertions.assertEquals(1, SafeNorm.value(new double[] {1, 0, 0})); + Assertions.assertEquals(1, SafeNorm.value(new double[] {0, 1, 0})); + Assertions.assertEquals(1, SafeNorm.value(new double[] {0, 0, 1})); } @Test diff --git a/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/BinomialCoefficientDoubleTest.java b/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/BinomialCoefficientDoubleTest.java index 43bd7cf..367aa50 100644 --- a/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/BinomialCoefficientDoubleTest.java +++ b/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/BinomialCoefficientDoubleTest.java @@ -26,7 +26,7 @@ class BinomialCoefficientDoubleTest { /** Verify that b(0,0) = 1 */ @Test void test0Choose0() { - Assertions.assertEquals(1d, BinomialCoefficientDouble.value(0, 0), 0); + Assertions.assertEquals(1d, BinomialCoefficientDouble.value(0, 0)); } @Test diff --git a/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/FactorialDoubleTest.java b/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/FactorialDoubleTest.java index 50be32a..fa4824e 100644 --- a/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/FactorialDoubleTest.java +++ b/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/FactorialDoubleTest.java @@ -25,14 +25,14 @@ import org.junit.jupiter.api.Test; class FactorialDoubleTest { @Test void testFactorialZero() { - Assertions.assertEquals(1, FactorialDouble.create().value(0), 0d, "0!"); + Assertions.assertEquals(1, FactorialDouble.create().value(0), "0!"); } @Test void testFactorialDirect() { for (int i = 1; i < 21; i++) { Assertions.assertEquals( - factorialDirect(i), FactorialDouble.create().value(i), 0d, i + "!"); + factorialDirect(i), FactorialDouble.create().value(i), i + "!"); } } @@ -98,15 +98,15 @@ class FactorialDoubleTest { final FactorialDouble f2 = f1.withCache(2 * max); final int val = max + max / 2; - Assertions.assertEquals(f1.value(val), f2.value(val), 0d); + Assertions.assertEquals(f1.value(val), f2.value(val)); } @Test void testZeroCache() { // Ensure that no exception is thrown. final FactorialDouble f = FactorialDouble.create().withCache(0); - Assertions.assertEquals(1, f.value(0), 0d); - Assertions.assertEquals(1, f.value(1), 0d); + Assertions.assertEquals(1, f.value(0)); + Assertions.assertEquals(1, f.value(1)); } @Test @@ -124,7 +124,7 @@ class FactorialDoubleTest { final FactorialDouble f2 = f1.withCache(max / 2); final int val = max / 4; - Assertions.assertEquals(f1.value(val), f2.value(val), 0d); + Assertions.assertEquals(f1.value(val), f2.value(val)); } /** diff --git a/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/LogBinomialCoefficientTest.java b/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/LogBinomialCoefficientTest.java index 0007430..88f05a1 100644 --- a/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/LogBinomialCoefficientTest.java +++ b/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/LogBinomialCoefficientTest.java @@ -26,7 +26,7 @@ class LogBinomialCoefficientTest { /** Verify that b(0,0) = 1 */ @Test void test0Choose0() { - Assertions.assertEquals(0d, LogBinomialCoefficient.value(0, 0), 0); + Assertions.assertEquals(0d, LogBinomialCoefficient.value(0, 0)); } @Test diff --git a/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/LogFactorialTest.java b/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/LogFactorialTest.java index 8fd5a4f..0367d1f 100644 --- a/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/LogFactorialTest.java +++ b/commons-numbers-combinatorics/src/test/java/org/apache/commons/numbers/combinatorics/LogFactorialTest.java @@ -108,7 +108,7 @@ class LogFactorialTest { final int val = max + max / 2; final double expected = logFactorial(val); - Assertions.assertEquals(expected, f2.value(val), 0d); + Assertions.assertEquals(expected, f2.value(val)); } @Test @@ -119,7 +119,7 @@ class LogFactorialTest { final int val = max / 4; final double expected = logFactorial(val); - Assertions.assertEquals(expected, f2.value(val), 0d); + Assertions.assertEquals(expected, f2.value(val)); } // Direct implementation. diff --git a/commons-numbers-complex-streams/src/test/java/org/apache/commons/numbers/complex/streams/ComplexUtilsTest.java b/commons-numbers-complex-streams/src/test/java/org/apache/commons/numbers/complex/streams/ComplexUtilsTest.java index 6b1e6a4..ffafec5 100644 --- a/commons-numbers-complex-streams/src/test/java/org/apache/commons/numbers/complex/streams/ComplexUtilsTest.java +++ b/commons-numbers-complex-streams/src/test/java/org/apache/commons/numbers/complex/streams/ComplexUtilsTest.java @@ -365,7 +365,7 @@ class ComplexUtilsTest { final Complex[] complex = ComplexUtils.real2Complex(real); for (int i = 0; i < real.length; i++) { - Assertions.assertEquals(real[i], complex[i].getReal(), 0d); + Assertions.assertEquals(real[i], complex[i].getReal()); } } @@ -756,7 +756,7 @@ class ComplexUtilsTest { double[] observed = ComplexUtils.abs(c); Assertions.assertEquals(c.length, observed.length); for (int i = 0; i < c.length; i++) { - Assertions.assertEquals(c[i].abs(), observed[i], 0); + Assertions.assertEquals(c[i].abs(), observed[i]); } } @@ -766,7 +766,7 @@ class ComplexUtilsTest { double[] observed = ComplexUtils.arg(c); Assertions.assertEquals(c.length, observed.length); for (int i = 0; i < c.length; i++) { - Assertions.assertEquals(c[i].arg(), observed[i], 0); + Assertions.assertEquals(c[i].arg(), observed[i]); } } } diff --git a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java index 72e89ae..4e2ba6c 100644 --- a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java +++ b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java @@ -1024,6 +1024,7 @@ class ComplexTest { if (Double.compare(b, 0.0) == 0) { // (-0.0, 0.0).multiply( (0,1) ) => (-0.0, 0.0) expected (-0.0,-0.0) // ( 0.0, 0.0).multiply( (0,1) ) => ( 0.0, 0.0) expected (-0.0, 0.0) + // Sign is allowed to be different for zero. Assertions.assertEquals(0, z.getReal(), 0.0); Assertions.assertEquals(0, z.getImaginary(), 0.0); Assertions.assertNotEquals(x, z); @@ -1051,10 +1052,9 @@ class ComplexTest { final Complex z2 = c.multiply(Complex.I).negate(); // Does not work when imaginary part is -0.0. if (Double.compare(b, -0.0) == 0) { - // (-0.0,-0.0).multiply( (-0.0,-1) ) => ( 0.0, 0.0) expected (-0.0, - // 0.0) - // ( 0.0,-0.0).multiply( (-0.0,-1) ) => (-0.0, 0.0) expected - // (-0.0,-0.0) + // (-0.0,-0.0).multiply( (-0.0,-1) ) => ( 0.0, 0.0) expected (-0.0, 0.0) + // ( 0.0,-0.0).multiply( (-0.0,-1) ) => (-0.0, 0.0) expected (-0.0,-0.0) + // Sign is allowed to be different for zero. Assertions.assertEquals(0, z.getReal(), 0.0); Assertions.assertEquals(0, z.getImaginary(), 0.0); Assertions.assertNotEquals(x, z); @@ -1105,7 +1105,7 @@ class ComplexTest { void testDivideNanInf() { Complex z = oneInf.divide(Complex.ONE); Assertions.assertTrue(Double.isNaN(z.getReal())); - Assertions.assertEquals(inf, z.getImaginary(), 0); + Assertions.assertEquals(inf, z.getImaginary()); z = negInfNegInf.divide(oneNan); Assertions.assertTrue(Double.isNaN(z.getReal())); @@ -1385,8 +1385,7 @@ class ComplexTest { Complex z = c.divide(ofImaginary(arg)); final boolean expectedFailure = (expectedFailures & 0x1) == 1; expectedFailures >>>= 1; - // If divide by zero then the divide(Complex) method matches divide by - // real. + // If divide by zero then the divide(Complex) method matches divide by real. // To match divide by imaginary requires multiplication by I. if (arg == 0) { // Same result if multiplied by I. The sign may not match so @@ -1399,8 +1398,7 @@ class ComplexTest { Assertions.assertEquals(ya, za, () -> c + " divideImaginary " + arg + ": real"); Assertions.assertEquals(yb, zb, () -> c + " divideImaginary " + arg + ": imaginary"); } else { - // Check the same answer. Sign is allowed to be different for - // zero. + // Check the same answer. Sign is allowed to be different for zero. Assertions.assertEquals(y.getReal(), z.getReal(), 0, () -> c + " divideImaginary " + arg + ": real"); Assertions.assertEquals(y.getImaginary(), z.getImaginary(), 0, diff --git a/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/PrecisionTest.java b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/PrecisionTest.java index ef63d75..8e784bf 100644 --- a/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/PrecisionTest.java +++ b/commons-numbers-core/src/test/java/org/apache/commons/numbers/core/PrecisionTest.java @@ -320,80 +320,80 @@ class PrecisionTest { @Test void testRoundDouble() { double x = 1.234567890; - Assertions.assertEquals(1.23, Precision.round(x, 2), 0.0); - Assertions.assertEquals(1.235, Precision.round(x, 3), 0.0); - Assertions.assertEquals(1.2346, Precision.round(x, 4), 0.0); + Assertions.assertEquals(1.23, Precision.round(x, 2)); + Assertions.assertEquals(1.235, Precision.round(x, 3)); + Assertions.assertEquals(1.2346, Precision.round(x, 4)); // JIRA MATH-151 - Assertions.assertEquals(39.25, Precision.round(39.245, 2), 0.0); - Assertions.assertEquals(39.24, Precision.round(39.245, 2, RoundingMode.DOWN), 0.0); + Assertions.assertEquals(39.25, Precision.round(39.245, 2)); + Assertions.assertEquals(39.24, Precision.round(39.245, 2, RoundingMode.DOWN)); double xx = 39.0; xx += 245d / 1000d; - Assertions.assertEquals(39.25, Precision.round(xx, 2), 0.0); + Assertions.assertEquals(39.25, Precision.round(xx, 2)); // BZ 35904 - Assertions.assertEquals(30.1d, Precision.round(30.095d, 2), 0.0d); - Assertions.assertEquals(30.1d, Precision.round(30.095d, 1), 0.0d); - Assertions.assertEquals(33.1d, Precision.round(33.095d, 1), 0.0d); - Assertions.assertEquals(33.1d, Precision.round(33.095d, 2), 0.0d); - Assertions.assertEquals(50.09d, Precision.round(50.085d, 2), 0.0d); - Assertions.assertEquals(50.19d, Precision.round(50.185d, 2), 0.0d); - Assertions.assertEquals(50.01d, Precision.round(50.005d, 2), 0.0d); - Assertions.assertEquals(30.01d, Precision.round(30.005d, 2), 0.0d); - Assertions.assertEquals(30.65d, Precision.round(30.645d, 2), 0.0d); - - Assertions.assertEquals(1.24, Precision.round(x, 2, RoundingMode.CEILING), 0.0); - Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.CEILING), 0.0); - Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.CEILING), 0.0); - Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.CEILING), 0.0); - Assertions.assertEquals(-1.234, Precision.round(-x, 3, RoundingMode.CEILING), 0.0); - Assertions.assertEquals(-1.2345, Precision.round(-x, 4, RoundingMode.CEILING), 0.0); - - Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.DOWN), 0.0); - Assertions.assertEquals(1.234, Precision.round(x, 3, RoundingMode.DOWN), 0.0); - Assertions.assertEquals(1.2345, Precision.round(x, 4, RoundingMode.DOWN), 0.0); - Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.DOWN), 0.0); - Assertions.assertEquals(-1.234, Precision.round(-x, 3, RoundingMode.DOWN), 0.0); - Assertions.assertEquals(-1.2345, Precision.round(-x, 4, RoundingMode.DOWN), 0.0); - - Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.FLOOR), 0.0); - Assertions.assertEquals(1.234, Precision.round(x, 3, RoundingMode.FLOOR), 0.0); - Assertions.assertEquals(1.2345, Precision.round(x, 4, RoundingMode.FLOOR), 0.0); - Assertions.assertEquals(-1.24, Precision.round(-x, 2, RoundingMode.FLOOR), 0.0); - Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.FLOOR), 0.0); - Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.FLOOR), 0.0); - - Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.HALF_DOWN), 0.0); - Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.HALF_DOWN), 0.0); - Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.HALF_DOWN), 0.0); - Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.HALF_DOWN), 0.0); - Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.HALF_DOWN), 0.0); - Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.HALF_DOWN), 0.0); - Assertions.assertEquals(1.234, Precision.round(1.2345, 3, RoundingMode.HALF_DOWN), 0.0); - Assertions.assertEquals(-1.234, Precision.round(-1.2345, 3, RoundingMode.HALF_DOWN), 0.0); - - Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(1.234, Precision.round(1.2345, 3, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(-1.234, Precision.round(-1.2345, 3, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(1.236, Precision.round(1.2355, 3, RoundingMode.HALF_EVEN), 0.0); - Assertions.assertEquals(-1.236, Precision.round(-1.2355, 3, RoundingMode.HALF_EVEN), 0.0); - - Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.HALF_UP), 0.0); - Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.HALF_UP), 0.0); - Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.HALF_UP), 0.0); - Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.HALF_UP), 0.0); - Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.HALF_UP), 0.0); - Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.HALF_UP), 0.0); - Assertions.assertEquals(1.235, Precision.round(1.2345, 3, RoundingMode.HALF_UP), 0.0); - Assertions.assertEquals(-1.235, Precision.round(-1.2345, 3, RoundingMode.HALF_UP), 0.0); - - Assertions.assertEquals(-1.23, Precision.round(-1.23, 2, RoundingMode.UNNECESSARY), 0.0); - Assertions.assertEquals(1.23, Precision.round(1.23, 2, RoundingMode.UNNECESSARY), 0.0); + Assertions.assertEquals(30.1d, Precision.round(30.095d, 2)); + Assertions.assertEquals(30.1d, Precision.round(30.095d, 1)); + Assertions.assertEquals(33.1d, Precision.round(33.095d, 1)); + Assertions.assertEquals(33.1d, Precision.round(33.095d, 2)); + Assertions.assertEquals(50.09d, Precision.round(50.085d, 2)); + Assertions.assertEquals(50.19d, Precision.round(50.185d, 2)); + Assertions.assertEquals(50.01d, Precision.round(50.005d, 2)); + Assertions.assertEquals(30.01d, Precision.round(30.005d, 2)); + Assertions.assertEquals(30.65d, Precision.round(30.645d, 2)); + + Assertions.assertEquals(1.24, Precision.round(x, 2, RoundingMode.CEILING)); + Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.CEILING)); + Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.CEILING)); + Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.CEILING)); + Assertions.assertEquals(-1.234, Precision.round(-x, 3, RoundingMode.CEILING)); + Assertions.assertEquals(-1.2345, Precision.round(-x, 4, RoundingMode.CEILING)); + + Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.DOWN)); + Assertions.assertEquals(1.234, Precision.round(x, 3, RoundingMode.DOWN)); + Assertions.assertEquals(1.2345, Precision.round(x, 4, RoundingMode.DOWN)); + Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.DOWN)); + Assertions.assertEquals(-1.234, Precision.round(-x, 3, RoundingMode.DOWN)); + Assertions.assertEquals(-1.2345, Precision.round(-x, 4, RoundingMode.DOWN)); + + Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.FLOOR)); + Assertions.assertEquals(1.234, Precision.round(x, 3, RoundingMode.FLOOR)); + Assertions.assertEquals(1.2345, Precision.round(x, 4, RoundingMode.FLOOR)); + Assertions.assertEquals(-1.24, Precision.round(-x, 2, RoundingMode.FLOOR)); + Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.FLOOR)); + Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.FLOOR)); + + Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.HALF_DOWN)); + Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.HALF_DOWN)); + Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.HALF_DOWN)); + Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.HALF_DOWN)); + Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.HALF_DOWN)); + Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.HALF_DOWN)); + Assertions.assertEquals(1.234, Precision.round(1.2345, 3, RoundingMode.HALF_DOWN)); + Assertions.assertEquals(-1.234, Precision.round(-1.2345, 3, RoundingMode.HALF_DOWN)); + + Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(1.234, Precision.round(1.2345, 3, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(-1.234, Precision.round(-1.2345, 3, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(1.236, Precision.round(1.2355, 3, RoundingMode.HALF_EVEN)); + Assertions.assertEquals(-1.236, Precision.round(-1.2355, 3, RoundingMode.HALF_EVEN)); + + Assertions.assertEquals(1.23, Precision.round(x, 2, RoundingMode.HALF_UP)); + Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.HALF_UP)); + Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.HALF_UP)); + Assertions.assertEquals(-1.23, Precision.round(-x, 2, RoundingMode.HALF_UP)); + Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.HALF_UP)); + Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.HALF_UP)); + Assertions.assertEquals(1.235, Precision.round(1.2345, 3, RoundingMode.HALF_UP)); + Assertions.assertEquals(-1.235, Precision.round(-1.2345, 3, RoundingMode.HALF_UP)); + + Assertions.assertEquals(-1.23, Precision.round(-1.23, 2, RoundingMode.UNNECESSARY)); + Assertions.assertEquals(1.23, Precision.round(1.23, 2, RoundingMode.UNNECESSARY)); try { Precision.round(1.234, 2, RoundingMode.UNNECESSARY); @@ -402,21 +402,21 @@ class PrecisionTest { // expected } - Assertions.assertEquals(1.24, Precision.round(x, 2, RoundingMode.UP), 0.0); - Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.UP), 0.0); - Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.UP), 0.0); - Assertions.assertEquals(-1.24, Precision.round(-x, 2, RoundingMode.UP), 0.0); - Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.UP), 0.0); - Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.UP), 0.0); + Assertions.assertEquals(1.24, Precision.round(x, 2, RoundingMode.UP)); + Assertions.assertEquals(1.235, Precision.round(x, 3, RoundingMode.UP)); + Assertions.assertEquals(1.2346, Precision.round(x, 4, RoundingMode.UP)); + Assertions.assertEquals(-1.24, Precision.round(-x, 2, RoundingMode.UP)); + Assertions.assertEquals(-1.235, Precision.round(-x, 3, RoundingMode.UP)); + Assertions.assertEquals(-1.2346, Precision.round(-x, 4, RoundingMode.UP)); // MATH-151 - Assertions.assertEquals(39.25, Precision.round(39.245, 2, RoundingMode.HALF_UP), 0.0); + Assertions.assertEquals(39.25, Precision.round(39.245, 2, RoundingMode.HALF_UP)); // special values - Assertions.assertEquals(Double.NaN, Precision.round(Double.NaN, 2), 0.0); - Assertions.assertEquals(0.0, Precision.round(0.0, 2), 0.0); - Assertions.assertEquals(Double.POSITIVE_INFINITY, Precision.round(Double.POSITIVE_INFINITY, 2), 0.0); - Assertions.assertEquals(Double.NEGATIVE_INFINITY, Precision.round(Double.NEGATIVE_INFINITY, 2), 0.0); + Assertions.assertEquals(Double.NaN, Precision.round(Double.NaN, 2)); + Assertions.assertEquals(0.0, Precision.round(0.0, 2)); + Assertions.assertEquals(Double.POSITIVE_INFINITY, Precision.round(Double.POSITIVE_INFINITY, 2)); + Assertions.assertEquals(Double.NEGATIVE_INFINITY, Precision.round(Double.NEGATIVE_INFINITY, 2)); // comparison of positive and negative zero is not possible -> always equal thus do string comparison Assertions.assertEquals("-0.0", Double.toString(Precision.round(-0.0, 0))); Assertions.assertEquals("-0.0", Double.toString(Precision.round(-1e-10, 0))); diff --git a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecisionTest.java b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecisionTest.java index 5a24296..5da8cbb 100644 --- a/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecisionTest.java +++ b/commons-numbers-examples/examples-jmh/src/test/java/org/apache/commons/numbers/examples/jmh/arrays/DoublePrecisionTest.java @@ -75,6 +75,7 @@ class DoublePrecisionTest { } private static void assertProductLow(double expected, double x, double y) { + // Requires a delta of 0.0 to assert -0.0 == 0.0 Assertions.assertEquals(expected, DoublePrecision.productLow(x, y, x * y), 0.0); } diff --git a/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FP64Test.java b/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FP64Test.java index 2007765..4b47f86 100644 --- a/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FP64Test.java +++ b/commons-numbers-field/src/test/java/org/apache/commons/numbers/field/FP64Test.java @@ -29,8 +29,8 @@ class FP64Test { final Double a = Double.valueOf(v); final FP64 b = FP64.of(v); - Assertions.assertEquals(a.doubleValue(), b.doubleValue(), 0d); - Assertions.assertEquals(a.floatValue(), b.floatValue(), 0f); + Assertions.assertEquals(a.doubleValue(), b.doubleValue()); + Assertions.assertEquals(a.floatValue(), b.floatValue()); Assertions.assertEquals(a.intValue(), b.intValue()); Assertions.assertEquals(a.longValue(), b.longValue()); Assertions.assertEquals(a.byteValue(), b.byteValue()); @@ -55,11 +55,11 @@ class FP64Test { @Test void testOne() { - Assertions.assertEquals(1d, FP64.of(-3.4).one().doubleValue(), 0d); + Assertions.assertEquals(1d, FP64.of(-3.4).one().doubleValue()); } @Test void testZero() { - Assertions.assertEquals(0d, FP64.of(-3.4).zero().doubleValue(), 0d); + Assertions.assertEquals(0d, FP64.of(-3.4).zero().doubleValue()); } @Test @@ -67,14 +67,14 @@ class FP64Test { final double a = 123.4; final double b = 5678.9; - Assertions.assertEquals(a - b, FP64.of(a).subtract(FP64.of(b)).doubleValue(), 0d); + Assertions.assertEquals(a - b, FP64.of(a).subtract(FP64.of(b)).doubleValue()); } @Test void testDivide() { final double a = 123.4; final double b = 5678.9; - Assertions.assertEquals(a / b, FP64.of(a).divide(FP64.of(b)).doubleValue(), 0d); + Assertions.assertEquals(a / b, FP64.of(a).divide(FP64.of(b)).doubleValue()); } @Test @@ -82,7 +82,7 @@ class FP64Test { final double a = 123.4; final int n = 3456789; - Assertions.assertEquals(n * a, FP64.of(a).multiply(n).doubleValue(), 0d); + Assertions.assertEquals(n * a, FP64.of(a).multiply(n).doubleValue()); } @Test @@ -90,7 +90,7 @@ class FP64Test { final double a = 123.4; final int n = 5; - Assertions.assertEquals(Math.pow(a, n), FP64.of(a).pow(n).doubleValue(), 0d); + Assertions.assertEquals(Math.pow(a, n), FP64.of(a).pow(n).doubleValue()); } @Test void testZeroPow() { diff --git a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/ContinuedFractionTest.java b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/ContinuedFractionTest.java index 96ab37a..caa947c 100644 --- a/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/ContinuedFractionTest.java +++ b/commons-numbers-fraction/src/test/java/org/apache/commons/numbers/fraction/ContinuedFractionTest.java @@ -185,6 +185,6 @@ class ContinuedFractionTest { final double eps = 0.5; double gr = cf.evaluate(0, eps, 2); - Assertions.assertEquals(1.5, gr, 0d); + Assertions.assertEquals(1.5, gr); } } diff --git a/commons-numbers-gamma/src/test/java/org/apache/commons/numbers/gamma/ErfTest.java b/commons-numbers-gamma/src/test/java/org/apache/commons/numbers/gamma/ErfTest.java index 2869955..049ca25 100644 --- a/commons-numbers-gamma/src/test/java/org/apache/commons/numbers/gamma/ErfTest.java +++ b/commons-numbers-gamma/src/test/java/org/apache/commons/numbers/gamma/ErfTest.java @@ -106,10 +106,10 @@ class ErfTest { Assertions.assertFalse(Double.isNaN(result)); Assertions.assertTrue(result >= 1 && result <= 2); } - Assertions.assertEquals(-1, Erf.value(Double.NEGATIVE_INFINITY), 0); - Assertions.assertEquals(1, Erf.value(Double.POSITIVE_INFINITY), 0); - Assertions.assertEquals(2, Erfc.value(Double.NEGATIVE_INFINITY), 0); - Assertions.assertEquals(0, Erfc.value(Double.POSITIVE_INFINITY), 0); + Assertions.assertEquals(-1, Erf.value(Double.NEGATIVE_INFINITY)); + Assertions.assertEquals(1, Erf.value(Double.POSITIVE_INFINITY)); + Assertions.assertEquals(2, Erfc.value(Double.NEGATIVE_INFINITY)); + Assertions.assertEquals(0, Erfc.value(Double.POSITIVE_INFINITY)); } /** diff --git a/commons-numbers-gamma/src/test/java/org/apache/commons/numbers/gamma/LanczosApproximationTest.java b/commons-numbers-gamma/src/test/java/org/apache/commons/numbers/gamma/LanczosApproximationTest.java index 4782497..9f8d576 100644 --- a/commons-numbers-gamma/src/test/java/org/apache/commons/numbers/gamma/LanczosApproximationTest.java +++ b/commons-numbers-gamma/src/test/java/org/apache/commons/numbers/gamma/LanczosApproximationTest.java @@ -25,15 +25,15 @@ import org.junit.jupiter.api.Test; class LanczosApproximationTest { @Test void testG() { - Assertions.assertEquals(607d / 128d, LanczosApproximation.g(), 0d); + Assertions.assertEquals(607d / 128d, LanczosApproximation.g()); } @Test void testSomeValues() { // Given that few values are checked, this test would only serve // as early warning of unexpected changes to the current code. - Assertions.assertEquals(29.020294557631818d, LanczosApproximation.value(0.1d), 0d); - Assertions.assertEquals(13.14778027539684d, LanczosApproximation.value(1.0d), 0d); - Assertions.assertEquals(7.897828855157814d, LanczosApproximation.value(2.0d), 0d); + Assertions.assertEquals(29.020294557631818d, LanczosApproximation.value(0.1d)); + Assertions.assertEquals(13.14778027539684d, LanczosApproximation.value(1.0d)); + Assertions.assertEquals(7.897828855157814d, LanczosApproximation.value(2.0d)); } } diff --git a/commons-numbers-quaternion/src/test/java/org/apache/commons/numbers/quaternion/QuaternionTest.java b/commons-numbers-quaternion/src/test/java/org/apache/commons/numbers/quaternion/QuaternionTest.java index eec4e22..ac25205 100644 --- a/commons-numbers-quaternion/src/test/java/org/apache/commons/numbers/quaternion/QuaternionTest.java +++ b/commons-numbers-quaternion/src/test/java/org/apache/commons/numbers/quaternion/QuaternionTest.java @@ -29,21 +29,21 @@ class QuaternionTest { @Test void testZeroQuaternion() { - Assertions.assertEquals(0, Quaternion.ZERO.norm(), 0d); + Assertions.assertEquals(0, Quaternion.ZERO.norm()); } @Test void testUnitQuaternions() { - Assertions.assertEquals(1, Quaternion.ONE.norm(), 0d); + Assertions.assertEquals(1, Quaternion.ONE.norm()); Assertions.assertSame(Quaternion.ONE, Quaternion.ONE.normalize()); - Assertions.assertEquals(1, Quaternion.I.norm(), 0d); + Assertions.assertEquals(1, Quaternion.I.norm()); Assertions.assertSame(Quaternion.I, Quaternion.I.normalize()); - Assertions.assertEquals(1, Quaternion.J.norm(), 0d); + Assertions.assertEquals(1, Quaternion.J.norm()); Assertions.assertSame(Quaternion.J, Quaternion.J.normalize()); - Assertions.assertEquals(1, Quaternion.K.norm(), 0d); + Assertions.assertEquals(1, Quaternion.K.norm()); Assertions.assertSame(Quaternion.K, Quaternion.K.normalize()); } @@ -55,10 +55,10 @@ class QuaternionTest { final double q3 = 0.0005; final Quaternion q = Quaternion.of(q0, q1, q2, q3); - Assertions.assertEquals(q0, q.getW(), 0); - Assertions.assertEquals(q1, q.getX(), 0); - Assertions.assertEquals(q2, q.getY(), 0); - Assertions.assertEquals(q3, q.getZ(), 0); + Assertions.assertEquals(q0, q.getW()); + Assertions.assertEquals(q1, q.getX()); + Assertions.assertEquals(q2, q.getY()); + Assertions.assertEquals(q3, q.getZ()); } @Test @@ -72,10 +72,10 @@ class QuaternionTest { final double sP = q.getScalarPart(); final double[] vP = q.getVectorPart(); - Assertions.assertEquals(q0, sP, 0); - Assertions.assertEquals(q1, vP[0], 0); - Assertions.assertEquals(q2, vP[1], 0); - Assertions.assertEquals(q3, vP[2], 0); + Assertions.assertEquals(q0, sP); + Assertions.assertEquals(q1, vP[0]); + Assertions.assertEquals(q2, vP[1]); + Assertions.assertEquals(q3, vP[2]); } @Test @@ -89,10 +89,10 @@ class QuaternionTest { final double sP = q.getScalarPart(); final double[] vP = q.getVectorPart(); - Assertions.assertEquals(q0, sP, 0); - Assertions.assertEquals(q1, vP[0], 0); - Assertions.assertEquals(q2, vP[1], 0); - Assertions.assertEquals(q3, vP[2], 0); + Assertions.assertEquals(q0, sP); + Assertions.assertEquals(q1, vP[0]); + Assertions.assertEquals(q2, vP[1]); + Assertions.assertEquals(q3, vP[2]); } @Test @@ -112,10 +112,10 @@ class QuaternionTest { final Quaternion qConjugate = q.conjugate(); - Assertions.assertEquals(q0, qConjugate.getW(), 0); - Assertions.assertEquals(-q1, qConjugate.getX(), 0); - Assertions.assertEquals(-q2, qConjugate.getY(), 0); - Assertions.assertEquals(-q3, qConjugate.getZ(), 0); + Assertions.assertEquals(q0, qConjugate.getW()); + Assertions.assertEquals(-q1, qConjugate.getX()); + Assertions.assertEquals(-q2, qConjugate.getY()); + Assertions.assertEquals(-q3, qConjugate.getZ()); } /* TODO remove dependency on Vector3D @@ -310,10 +310,10 @@ class QuaternionTest { final double norm = q.norm(); - Assertions.assertEquals(Math.sqrt(30), norm, 0); + Assertions.assertEquals(Math.sqrt(30), norm); final double normSquareRef = Quaternion.multiply(q, q.conjugate()).getScalarPart(); - Assertions.assertEquals(Math.sqrt(normSquareRef), norm, 0); + Assertions.assertEquals(Math.sqrt(normSquareRef), norm); } @Test @@ -323,12 +323,12 @@ class QuaternionTest { final Quaternion versor = q.normalize(); - Assertions.assertEquals(2.0 / 5.0, versor.getW(), 0); - Assertions.assertEquals(1.0 / 5.0, versor.getX(), 0); - Assertions.assertEquals(-4.0 / 5.0, versor.getY(), 0); - Assertions.assertEquals(-2.0 / 5.0, versor.getZ(), 0); + Assertions.assertEquals(2.0 / 5.0, versor.getW()); + Assertions.assertEquals(1.0 / 5.0, versor.getX()); + Assertions.assertEquals(-4.0 / 5.0, versor.getY()); + Assertions.assertEquals(-2.0 / 5.0, versor.getZ()); - Assertions.assertEquals(1, versor.norm(), 0); + Assertions.assertEquals(1, versor.norm()); Assertions.assertSame(versor.normalize(), versor); } @@ -521,10 +521,10 @@ class QuaternionTest { final double d = 4; final Quaternion q = Quaternion.of(a, b, c, d); final Quaternion qNeg = q.negate(); - Assertions.assertEquals(-a, qNeg.getW(), 0d); - Assertions.assertEquals(-b, qNeg.getX(), 0d); - Assertions.assertEquals(-c, qNeg.getY(), 0d); - Assertions.assertEquals(-d, qNeg.getZ(), 0d); + Assertions.assertEquals(-a, qNeg.getW()); + Assertions.assertEquals(-b, qNeg.getX()); + Assertions.assertEquals(-c, qNeg.getY()); + Assertions.assertEquals(-d, qNeg.getZ()); Assertions.assertTrue(q.equals(qNeg.negate(), 0d)); } @@ -585,10 +585,10 @@ class QuaternionTest { final Quaternion q = Quaternion.of(1.5, 4, 2, -2.5); final Quaternion inverseQ = q.inverse(); - Assertions.assertEquals(1.5 / 28.5, inverseQ.getW(), 0); - Assertions.assertEquals(-4.0 / 28.5, inverseQ.getX(), 0); - Assertions.assertEquals(-2.0 / 28.5, inverseQ.getY(), 0); - Assertions.assertEquals(2.5 / 28.5, inverseQ.getZ(), 0); + Assertions.assertEquals(1.5 / 28.5, inverseQ.getW()); + Assertions.assertEquals(-4.0 / 28.5, inverseQ.getX()); + Assertions.assertEquals(-2.0 / 28.5, inverseQ.getY()); + Assertions.assertEquals(2.5 / 28.5, inverseQ.getZ()); final Quaternion product = Quaternion.multiply(inverseQ, q); Assertions.assertEquals(1, product.getW(), EPS);