This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit 0db495b21337d3f30961375dedba2dd469f91200 Author: Gilles Sadowski <[email protected]> AuthorDate: Fri Jun 4 01:37:00 2021 +0200 NUMBERS-161: Additional unit tests. --- .../apache/commons/numbers/angle/AngleTest.java | 57 ++++++++++++---------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/AngleTest.java b/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/AngleTest.java index f333f02..f253c71 100644 --- a/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/AngleTest.java +++ b/commons-numbers-angle/src/test/java/org/apache/commons/numbers/angle/AngleTest.java @@ -37,26 +37,40 @@ class AngleTest { } @Test - void testConversionTurns() { - final double value = 12.3456; - final Angle a = Angle.Turn.of(value); - Assertions.assertEquals(value, a.getAsDouble()); + void testConversions() { + final double a = 12.3456; + final double tol = 1e-14; + Assertions.assertEquals(a, Angle.Turn.of(a).toRad().toDeg().toTurn().getAsDouble(), tol); + Assertions.assertEquals(a, Angle.Rad.of(a).toTurn().toDeg().toRad().getAsDouble(), tol); + Assertions.assertEquals(a, Angle.Deg.of(a).toTurn().toRad().toDeg().getAsDouble(), tol); } @Test - void testConversionRadians() { - final double one = 2 * Math.PI; - final double value = 12.3456 * one; - final Angle a = Angle.Rad.of(value); - Assertions.assertEquals(value, a.toRad().getAsDouble()); - } + void testEquals() { + final double value = -12.3456789; + final double nextValue = Math.nextUp(value); - @Test - void testConversionDegrees() { - final double one = 360; - final double value = 12.3456 * one; - final Angle a = Angle.Deg.of(value); - Assertions.assertEquals(value, a.toDeg().getAsDouble()); + final Angle.Turn asTurn = Angle.Turn.of(value); + Assertions.assertEquals(Angle.Turn.of(value), asTurn); + Assertions.assertEquals(asTurn, asTurn); + Assertions.assertNotEquals(asTurn, Angle.Turn.of(nextValue)); + Assertions.assertFalse(asTurn.equals(null)); + + final Angle.Rad asRad = Angle.Rad.of(value); + Assertions.assertEquals(Angle.Rad.of(value), asRad); + Assertions.assertEquals(asRad, asRad); + Assertions.assertNotEquals(asRad, Angle.Rad.of(nextValue)); + Assertions.assertFalse(asRad.equals(null)); + + final Angle.Deg asDeg = Angle.Deg.of(value); + Assertions.assertEquals(Angle.Deg.of(value), asDeg); + Assertions.assertEquals(asDeg, asDeg); + Assertions.assertNotEquals(asDeg, Angle.Deg.of(nextValue)); + Assertions.assertFalse(asDeg.equals(null)); + + Assertions.assertNotEquals(asDeg, asTurn); + Assertions.assertNotEquals(asTurn, asRad); + Assertions.assertNotEquals(asRad, asDeg); } @Test @@ -140,17 +154,6 @@ class AngleTest { } @Test - void testEquals() { - final double value = 12345.6789; - final Angle a = Angle.Rad.of(value); - Assertions.assertTrue(a.equals(a)); - Assertions.assertTrue(a.equals(Angle.Rad.of(value))); - Assertions.assertFalse(a.equals(Angle.Rad.of(Math.nextUp(value)))); - Assertions.assertFalse(a.equals(new Object())); - Assertions.assertFalse(a.equals(null)); - } - - @Test void testZero() { Assertions.assertEquals(0, Angle.Rad.ZERO.getAsDouble()); }
