This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-lang.git
The following commit(s) were added to refs/heads/master by this push: new e18ace7 Sort members. e18ace7 is described below commit e18ace73ef1bfb79d026c2d8d19cd26590e8a169 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sun Feb 21 14:09:57 2021 -0500 Sort members. --- .../apache/commons/lang3/math/FractionTest.java | 1060 ++++++++++---------- .../commons/lang3/math/IEEE754rUtilsTest.java | 50 +- .../commons/lang3/mutable/MutableBooleanTest.java | 22 +- .../commons/lang3/mutable/MutableByteTest.java | 248 ++--- .../commons/lang3/mutable/MutableDoubleTest.java | 266 ++--- .../commons/lang3/mutable/MutableFloatTest.java | 266 ++--- .../commons/lang3/mutable/MutableIntTest.java | 252 ++--- .../commons/lang3/mutable/MutableLongTest.java | 252 ++--- .../commons/lang3/mutable/MutableObjectTest.java | 24 +- .../commons/lang3/mutable/MutableShortTest.java | 236 ++--- .../commons/lang3/tuple/ImmutablePairTest.java | 98 +- .../commons/lang3/tuple/ImmutableTripleTest.java | 26 +- .../commons/lang3/tuple/MutablePairTest.java | 26 +- .../commons/lang3/tuple/MutableTripleTest.java | 26 +- .../org/apache/commons/lang3/tuple/PairTest.java | 26 +- .../org/apache/commons/lang3/tuple/TripleTest.java | 26 +- 16 files changed, 1452 insertions(+), 1452 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/math/FractionTest.java b/src/test/java/org/apache/commons/lang3/math/FractionTest.java index 28d94b2..7ede98c 100644 --- a/src/test/java/org/apache/commons/lang3/math/FractionTest.java +++ b/src/test/java/org/apache/commons/lang3/math/FractionTest.java @@ -33,6 +33,168 @@ public class FractionTest { private static final int SKIP = 500; //53 + @Test + public void testAbs() { + Fraction f; + + f = Fraction.getFraction(50, 75); + f = f.abs(); + assertEquals(50, f.getNumerator()); + assertEquals(75, f.getDenominator()); + + f = Fraction.getFraction(-50, 75); + f = f.abs(); + assertEquals(50, f.getNumerator()); + assertEquals(75, f.getDenominator()); + + f = Fraction.getFraction(Integer.MAX_VALUE, 1); + f = f.abs(); + assertEquals(Integer.MAX_VALUE, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + f = Fraction.getFraction(Integer.MAX_VALUE, -1); + f = f.abs(); + assertEquals(Integer.MAX_VALUE, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + assertThrows(ArithmeticException.class, () -> Fraction.getFraction(Integer.MIN_VALUE, 1).abs()); + } + + @Test + public void testAdd() { + Fraction f; + Fraction f1; + Fraction f2; + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(1, 5); + f = f1.add(f2); + assertEquals(4, f.getNumerator()); + assertEquals(5, f.getDenominator()); + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(2, 5); + f = f1.add(f2); + assertEquals(1, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(3, 5); + f = f1.add(f2); + assertEquals(6, f.getNumerator()); + assertEquals(5, f.getDenominator()); + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(-4, 5); + f = f1.add(f2); + assertEquals(-1, f.getNumerator()); + assertEquals(5, f.getDenominator()); + + f1 = Fraction.getFraction(Integer.MAX_VALUE - 1, 1); + f2 = Fraction.ONE; + f = f1.add(f2); + assertEquals(Integer.MAX_VALUE, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(1, 2); + f = f1.add(f2); + assertEquals(11, f.getNumerator()); + assertEquals(10, f.getDenominator()); + + f1 = Fraction.getFraction(3, 8); + f2 = Fraction.getFraction(1, 6); + f = f1.add(f2); + assertEquals(13, f.getNumerator()); + assertEquals(24, f.getDenominator()); + + f1 = Fraction.getFraction(0, 5); + f2 = Fraction.getFraction(1, 5); + f = f1.add(f2); + assertSame(f2, f); + f = f2.add(f1); + assertSame(f2, f); + + f1 = Fraction.getFraction(-1, 13*13*2*2); + f2 = Fraction.getFraction(-2, 13*17*2); + final Fraction fr = f1.add(f2); + assertEquals(13*13*17*2*2, fr.getDenominator()); + assertEquals(-17 - 2*13*2, fr.getNumerator()); + + assertThrows(NullPointerException.class, () -> fr.add(null)); + + // if this fraction is added naively, it will overflow. + // check that it doesn't. + f1 = Fraction.getFraction(1, 32768*3); + f2 = Fraction.getFraction(1, 59049); + f = f1.add(f2); + assertEquals(52451, f.getNumerator()); + assertEquals(1934917632, f.getDenominator()); + + f1 = Fraction.getFraction(Integer.MIN_VALUE, 3); + f2 = Fraction.ONE_THIRD; + f = f1.add(f2); + assertEquals(Integer.MIN_VALUE+1, f.getNumerator()); + assertEquals(3, f.getDenominator()); + + f1 = Fraction.getFraction(Integer.MAX_VALUE - 1, 1); + f2 = Fraction.ONE; + f = f1.add(f2); + assertEquals(Integer.MAX_VALUE, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + final Fraction overflower = f; + assertThrows(ArithmeticException.class, () -> overflower.add(Fraction.ONE)); // should overflow + + // denominator should not be a multiple of 2 or 3 to trigger overflow + assertThrows( + ArithmeticException.class, + () -> Fraction.getFraction(Integer.MIN_VALUE, 5).add(Fraction.getFraction(-1, 5))); + + final Fraction maxValue = Fraction.getFraction(-Integer.MAX_VALUE, 1); + assertThrows(ArithmeticException.class, () -> maxValue.add(maxValue)); + + final Fraction negativeMaxValue = Fraction.getFraction(-Integer.MAX_VALUE, 1); + assertThrows(ArithmeticException.class, () -> negativeMaxValue.add(negativeMaxValue)); + + final Fraction f3 = Fraction.getFraction(3, 327680); + final Fraction f4 = Fraction.getFraction(2, 59049); + assertThrows(ArithmeticException.class, () -> f3.add(f4)); // should overflow + } + + @Test + public void testCompareTo() { + Fraction f1; + Fraction f2; + + f1 = Fraction.getFraction(3, 5); + assertEquals(0, f1.compareTo(f1)); + + final Fraction fr = f1; + assertThrows(NullPointerException.class, () -> fr.compareTo(null)); + + f2 = Fraction.getFraction(2, 5); + assertTrue(f1.compareTo(f2) > 0); + assertEquals(0, f2.compareTo(f2)); + + f2 = Fraction.getFraction(4, 5); + assertTrue(f1.compareTo(f2) < 0); + assertEquals(0, f2.compareTo(f2)); + + f2 = Fraction.getFraction(3, 5); + assertEquals(0, f1.compareTo(f2)); + assertEquals(0, f2.compareTo(f2)); + + f2 = Fraction.getFraction(6, 10); + assertEquals(0, f1.compareTo(f2)); + assertEquals(0, f2.compareTo(f2)); + + f2 = Fraction.getFraction(-1, 1, Integer.MAX_VALUE); + assertTrue(f1.compareTo(f2) > 0); + assertEquals(0, f2.compareTo(f2)); + + } + //-------------------------------------------------------------------------- @Test public void testConstants() { @@ -74,6 +236,150 @@ public class FractionTest { } @Test + public void testConversions() { + Fraction f; + + f = Fraction.getFraction(3, 7, 8); + assertEquals(3, f.intValue()); + assertEquals(3L, f.longValue()); + assertEquals(3.875f, f.floatValue(), 0.00001f); + assertEquals(3.875d, f.doubleValue(), 0.00001d); + } + + @Test + public void testDivide() { + Fraction f; + Fraction f1; + Fraction f2; + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(2, 5); + f = f1.divideBy(f2); + assertEquals(3, f.getNumerator()); + assertEquals(2, f.getDenominator()); + + assertThrows(ArithmeticException.class, () -> Fraction.getFraction(3, 5).divideBy(Fraction.ZERO)); + + f1 = Fraction.getFraction(0, 5); + f2 = Fraction.getFraction(2, 7); + f = f1.divideBy(f2); + assertSame(Fraction.ZERO, f); + + f1 = Fraction.getFraction(2, 7); + f2 = Fraction.ONE; + f = f1.divideBy(f2); + assertEquals(2, f.getNumerator()); + assertEquals(7, f.getDenominator()); + + f1 = Fraction.getFraction(1, Integer.MAX_VALUE); + f = f1.divideBy(f1); + assertEquals(1, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + f1 = Fraction.getFraction(Integer.MIN_VALUE, Integer.MAX_VALUE); + f2 = Fraction.getFraction(1, Integer.MAX_VALUE); + final Fraction fr = f1.divideBy(f2); + assertEquals(Integer.MIN_VALUE, fr.getNumerator()); + assertEquals(1, fr.getDenominator()); + + assertThrows(NullPointerException.class, () -> fr.divideBy(null)); + + final Fraction smallest = Fraction.getFraction(1, Integer.MAX_VALUE); + assertThrows(ArithmeticException.class, () -> smallest.divideBy(smallest.invert())); // Should overflow + + final Fraction negative = Fraction.getFraction(1, -Integer.MAX_VALUE); + assertThrows(ArithmeticException.class, () -> negative.divideBy(negative.invert())); // Should overflow + } + + + @Test + public void testEquals() { + Fraction f1; + Fraction f2; + + f1 = Fraction.getFraction(3, 5); + assertNotEquals(null, f1); + assertNotEquals(f1, new Object()); + assertNotEquals(f1, Integer.valueOf(6)); + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(2, 5); + assertNotEquals(f1, f2); + assertEquals(f1, f1); + assertEquals(f2, f2); + + f2 = Fraction.getFraction(3, 5); + assertEquals(f1, f2); + + f2 = Fraction.getFraction(6, 10); + assertNotEquals(f1, f2); + } + + @Test + public void testFactory_double() { + assertThrows(ArithmeticException.class, () -> Fraction.getFraction(Double.NaN)); + assertThrows(ArithmeticException.class, () -> Fraction.getFraction(Double.POSITIVE_INFINITY)); + assertThrows(ArithmeticException.class, () -> Fraction.getFraction(Double.NEGATIVE_INFINITY)); + assertThrows(ArithmeticException.class, () -> Fraction.getFraction((double) Integer.MAX_VALUE + 1)); + + // zero + Fraction f = Fraction.getFraction(0.0d); + assertEquals(0, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + // one + f = Fraction.getFraction(1.0d); + assertEquals(1, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + // one half + f = Fraction.getFraction(0.5d); + assertEquals(1, f.getNumerator()); + assertEquals(2, f.getDenominator()); + + // negative + f = Fraction.getFraction(-0.875d); + assertEquals(-7, f.getNumerator()); + assertEquals(8, f.getDenominator()); + + // over 1 + f = Fraction.getFraction(1.25d); + assertEquals(5, f.getNumerator()); + assertEquals(4, f.getDenominator()); + + // two thirds + f = Fraction.getFraction(0.66666d); + assertEquals(2, f.getNumerator()); + assertEquals(3, f.getDenominator()); + + // small + f = Fraction.getFraction(1.0d/10001d); + assertEquals(0, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + // normal + Fraction f2 = null; + for (int i = 1; i <= 100; i++) { // denominator + for (int j = 1; j <= i; j++) { // numerator + f = Fraction.getFraction((double) j / (double) i); + + f2 = Fraction.getReducedFraction(j, i); + assertEquals(f2.getNumerator(), f.getNumerator()); + assertEquals(f2.getDenominator(), f.getDenominator()); + } + } + // save time by skipping some tests! ( + for (int i = 1001; i <= 10000; i+=SKIP) { // denominator + for (int j = 1; j <= i; j++) { // numerator + f = Fraction.getFraction((double) j / (double) i); + f2 = Fraction.getReducedFraction(j, i); + assertEquals(f2.getNumerator(), f.getNumerator()); + assertEquals(f2.getDenominator(), f.getDenominator()); + } + } + } + + @Test public void testFactory_int_int() { Fraction f; @@ -182,175 +488,67 @@ public class FractionTest { } @Test - public void testReducedFactory_int_int() { - Fraction f; - - // zero - f = Fraction.getReducedFraction(0, 1); - assertEquals(0, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - // normal - f = Fraction.getReducedFraction(1, 1); - assertEquals(1, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - f = Fraction.getReducedFraction(2, 1); - assertEquals(2, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - // improper - f = Fraction.getReducedFraction(22, 7); - assertEquals(22, f.getNumerator()); - assertEquals(7, f.getDenominator()); - - // negatives - f = Fraction.getReducedFraction(-6, 10); - assertEquals(-3, f.getNumerator()); - assertEquals(5, f.getDenominator()); - - f = Fraction.getReducedFraction(6, -10); - assertEquals(-3, f.getNumerator()); - assertEquals(5, f.getDenominator()); - - f = Fraction.getReducedFraction(-6, -10); - assertEquals(3, f.getNumerator()); - assertEquals(5, f.getDenominator()); - - // zero denominator - assertThrows(ArithmeticException.class, () -> Fraction.getReducedFraction(1, 0)); - assertThrows(ArithmeticException.class, () -> Fraction.getReducedFraction(2, 0)); - assertThrows(ArithmeticException.class, () -> Fraction.getReducedFraction(-3, 0)); - - // reduced - f = Fraction.getReducedFraction(0, 2); - assertEquals(0, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - f = Fraction.getReducedFraction(2, 2); - assertEquals(1, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - f = Fraction.getReducedFraction(2, 4); - assertEquals(1, f.getNumerator()); - assertEquals(2, f.getDenominator()); - - f = Fraction.getReducedFraction(15, 10); - assertEquals(3, f.getNumerator()); - assertEquals(2, f.getDenominator()); - - f = Fraction.getReducedFraction(121, 22); - assertEquals(11, f.getNumerator()); - assertEquals(2, f.getDenominator()); - - // Extreme values - // OK, can reduce before negating - f = Fraction.getReducedFraction(-2, Integer.MIN_VALUE); - assertEquals(1, f.getNumerator()); - assertEquals(-(Integer.MIN_VALUE / 2), f.getDenominator()); - - // Can't reduce, negation will throw - assertThrows(ArithmeticException.class, () -> Fraction.getReducedFraction(-7, Integer.MIN_VALUE)); - - // LANG-662 - f = Fraction.getReducedFraction(Integer.MIN_VALUE, 2); - assertEquals(Integer.MIN_VALUE / 2, f.getNumerator()); - assertEquals(1, f.getDenominator()); + public void testFactory_String() { + assertThrows(NullPointerException.class, () -> Fraction.getFraction(null)); } @Test - public void testFactory_double() { - assertThrows(ArithmeticException.class, () -> Fraction.getFraction(Double.NaN)); - assertThrows(ArithmeticException.class, () -> Fraction.getFraction(Double.POSITIVE_INFINITY)); - assertThrows(ArithmeticException.class, () -> Fraction.getFraction(Double.NEGATIVE_INFINITY)); - assertThrows(ArithmeticException.class, () -> Fraction.getFraction((double) Integer.MAX_VALUE + 1)); + public void testFactory_String_double() { + Fraction f; - // zero - Fraction f = Fraction.getFraction(0.0d); + f = Fraction.getFraction("0.0"); assertEquals(0, f.getNumerator()); assertEquals(1, f.getDenominator()); - // one - f = Fraction.getFraction(1.0d); + f = Fraction.getFraction("0.2"); assertEquals(1, f.getNumerator()); - assertEquals(1, f.getDenominator()); + assertEquals(5, f.getDenominator()); - // one half - f = Fraction.getFraction(0.5d); + f = Fraction.getFraction("0.5"); assertEquals(1, f.getNumerator()); assertEquals(2, f.getDenominator()); - // negative - f = Fraction.getFraction(-0.875d); - assertEquals(-7, f.getNumerator()); - assertEquals(8, f.getDenominator()); - - // over 1 - f = Fraction.getFraction(1.25d); - assertEquals(5, f.getNumerator()); - assertEquals(4, f.getDenominator()); - - // two thirds - f = Fraction.getFraction(0.66666d); + f = Fraction.getFraction("0.66666"); assertEquals(2, f.getNumerator()); assertEquals(3, f.getDenominator()); - // small - f = Fraction.getFraction(1.0d/10001d); - assertEquals(0, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - // normal - Fraction f2 = null; - for (int i = 1; i <= 100; i++) { // denominator - for (int j = 1; j <= i; j++) { // numerator - f = Fraction.getFraction((double) j / (double) i); - - f2 = Fraction.getReducedFraction(j, i); - assertEquals(f2.getNumerator(), f.getNumerator()); - assertEquals(f2.getDenominator(), f.getDenominator()); - } - } - // save time by skipping some tests! ( - for (int i = 1001; i <= 10000; i+=SKIP) { // denominator - for (int j = 1; j <= i; j++) { // numerator - f = Fraction.getFraction((double) j / (double) i); - f2 = Fraction.getReducedFraction(j, i); - assertEquals(f2.getNumerator(), f.getNumerator()); - assertEquals(f2.getDenominator(), f.getDenominator()); - } - } - } - - @Test - public void testFactory_String() { - assertThrows(NullPointerException.class, () -> Fraction.getFraction(null)); + assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2.3R")); + assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2147483648")); // too big + assertThrows(NumberFormatException.class, () -> Fraction.getFraction(".")); } - @Test - public void testFactory_String_double() { + public void testFactory_String_improper() { Fraction f; - f = Fraction.getFraction("0.0"); + f = Fraction.getFraction("0/1"); assertEquals(0, f.getNumerator()); assertEquals(1, f.getDenominator()); - f = Fraction.getFraction("0.2"); + f = Fraction.getFraction("1/5"); assertEquals(1, f.getNumerator()); assertEquals(5, f.getDenominator()); - f = Fraction.getFraction("0.5"); + f = Fraction.getFraction("1/2"); assertEquals(1, f.getNumerator()); assertEquals(2, f.getDenominator()); - f = Fraction.getFraction("0.66666"); + f = Fraction.getFraction("2/3"); assertEquals(2, f.getNumerator()); assertEquals(3, f.getDenominator()); - assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2.3R")); - assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2147483648")); // too big - assertThrows(NumberFormatException.class, () -> Fraction.getFraction(".")); + f = Fraction.getFraction("7/3"); + assertEquals(7, f.getNumerator()); + assertEquals(3, f.getDenominator()); + + f = Fraction.getFraction("2/4"); + assertEquals(2, f.getNumerator()); + assertEquals(4, f.getDenominator()); + + assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2/d")); + assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2e/3")); + assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2/")); + assertThrows(NumberFormatException.class, () -> Fraction.getFraction("/")); } @Test @@ -390,40 +588,6 @@ public class FractionTest { } @Test - public void testFactory_String_improper() { - Fraction f; - - f = Fraction.getFraction("0/1"); - assertEquals(0, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - f = Fraction.getFraction("1/5"); - assertEquals(1, f.getNumerator()); - assertEquals(5, f.getDenominator()); - - f = Fraction.getFraction("1/2"); - assertEquals(1, f.getNumerator()); - assertEquals(2, f.getDenominator()); - - f = Fraction.getFraction("2/3"); - assertEquals(2, f.getNumerator()); - assertEquals(3, f.getDenominator()); - - f = Fraction.getFraction("7/3"); - assertEquals(7, f.getNumerator()); - assertEquals(3, f.getDenominator()); - - f = Fraction.getFraction("2/4"); - assertEquals(2, f.getNumerator()); - assertEquals(4, f.getDenominator()); - - assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2/d")); - assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2e/3")); - assertThrows(NumberFormatException.class, () -> Fraction.getFraction("2/")); - assertThrows(NumberFormatException.class, () -> Fraction.getFraction("/")); - } - - @Test public void testGets() { Fraction f; @@ -446,64 +610,18 @@ public class FractionTest { assertEquals(1, f.getDenominator()); } - @Test - public void testConversions() { - Fraction f; - - f = Fraction.getFraction(3, 7, 8); - assertEquals(3, f.intValue()); - assertEquals(3L, f.longValue()); - assertEquals(3.875f, f.floatValue(), 0.00001f); - assertEquals(3.875d, f.doubleValue(), 0.00001d); - } - - @Test - public void testReduce() { - Fraction f; - - f = Fraction.getFraction(50, 75); - Fraction result = f.reduce(); - assertEquals(2, result.getNumerator()); - assertEquals(3, result.getDenominator()); - - f = Fraction.getFraction(-2, -3); - result = f.reduce(); - assertEquals(2, result.getNumerator()); - assertEquals(3, result.getDenominator()); - - f = Fraction.getFraction(2, -3); - result = f.reduce(); - assertEquals(-2, result.getNumerator()); - assertEquals(3, result.getDenominator()); - - f = Fraction.getFraction(-2, 3); - result = f.reduce(); - assertEquals(-2, result.getNumerator()); - assertEquals(3, result.getDenominator()); - assertSame(f, result); - - f = Fraction.getFraction(2, 3); - result = f.reduce(); - assertEquals(2, result.getNumerator()); - assertEquals(3, result.getDenominator()); - assertSame(f, result); - - f = Fraction.getFraction(0, 1); - result = f.reduce(); - assertEquals(0, result.getNumerator()); - assertEquals(1, result.getDenominator()); - assertSame(f, result); + @Test + public void testHashCode() { + final Fraction f1 = Fraction.getFraction(3, 5); + Fraction f2 = Fraction.getFraction(3, 5); - f = Fraction.getFraction(0, 100); - result = f.reduce(); - assertEquals(0, result.getNumerator()); - assertEquals(1, result.getDenominator()); - assertSame(result, Fraction.ZERO); + assertEquals(f1.hashCode(), f2.hashCode()); - f = Fraction.getFraction(Integer.MIN_VALUE, 2); - result = f.reduce(); - assertEquals(Integer.MIN_VALUE / 2, result.getNumerator()); - assertEquals(1, result.getDenominator()); + f2 = Fraction.getFraction(2, 5); + assertTrue(f1.hashCode() != f2.hashCode()); + + f2 = Fraction.getFraction(6, 10); + assertTrue(f1.hashCode() != f2.hashCode()); } @Test @@ -535,6 +653,67 @@ public class FractionTest { } @Test + public void testMultiply() { + Fraction f; + Fraction f1; + Fraction f2; + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(2, 5); + f = f1.multiplyBy(f2); + assertEquals(6, f.getNumerator()); + assertEquals(25, f.getDenominator()); + + f1 = Fraction.getFraction(6, 10); + f2 = Fraction.getFraction(6, 10); + f = f1.multiplyBy(f2); + assertEquals(9, f.getNumerator()); + assertEquals(25, f.getDenominator()); + f = f.multiplyBy(f2); + assertEquals(27, f.getNumerator()); + assertEquals(125, f.getDenominator()); + + f1 = Fraction.getFraction(3, 5); + f2 = Fraction.getFraction(-2, 5); + f = f1.multiplyBy(f2); + assertEquals(-6, f.getNumerator()); + assertEquals(25, f.getDenominator()); + + f1 = Fraction.getFraction(-3, 5); + f2 = Fraction.getFraction(-2, 5); + f = f1.multiplyBy(f2); + assertEquals(6, f.getNumerator()); + assertEquals(25, f.getDenominator()); + + + f1 = Fraction.getFraction(0, 5); + f2 = Fraction.getFraction(2, 7); + f = f1.multiplyBy(f2); + assertSame(Fraction.ZERO, f); + + f1 = Fraction.getFraction(2, 7); + f2 = Fraction.ONE; + f = f1.multiplyBy(f2); + assertEquals(2, f.getNumerator()); + assertEquals(7, f.getDenominator()); + + f1 = Fraction.getFraction(Integer.MAX_VALUE, 1); + f2 = Fraction.getFraction(Integer.MIN_VALUE, Integer.MAX_VALUE); + f = f1.multiplyBy(f2); + assertEquals(Integer.MIN_VALUE, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + final Fraction fr = f; + assertThrows(NullPointerException.class, () -> fr.multiplyBy(null)); + + final Fraction fr1 = Fraction.getFraction(1, Integer.MAX_VALUE); + assertThrows(ArithmeticException.class, () -> fr1.multiplyBy(fr1)); + + final Fraction fr2 = Fraction.getFraction(1, -Integer.MAX_VALUE); + assertThrows(ArithmeticException.class, () -> fr2.multiplyBy(fr2)); + } + + @Test public void testNegate() { Fraction f; @@ -558,33 +737,6 @@ public class FractionTest { } @Test - public void testAbs() { - Fraction f; - - f = Fraction.getFraction(50, 75); - f = f.abs(); - assertEquals(50, f.getNumerator()); - assertEquals(75, f.getDenominator()); - - f = Fraction.getFraction(-50, 75); - f = f.abs(); - assertEquals(50, f.getNumerator()); - assertEquals(75, f.getDenominator()); - - f = Fraction.getFraction(Integer.MAX_VALUE, 1); - f = f.abs(); - assertEquals(Integer.MAX_VALUE, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - f = Fraction.getFraction(Integer.MAX_VALUE, -1); - f = f.abs(); - assertEquals(Integer.MAX_VALUE, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - assertThrows(ArithmeticException.class, () -> Fraction.getFraction(Integer.MIN_VALUE, 1).abs()); - } - - @Test public void testPow() { Fraction f; @@ -681,105 +833,129 @@ public class FractionTest { } @Test - public void testAdd() { + public void testReduce() { Fraction f; - Fraction f1; - Fraction f2; - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(1, 5); - f = f1.add(f2); - assertEquals(4, f.getNumerator()); - assertEquals(5, f.getDenominator()); + f = Fraction.getFraction(50, 75); + Fraction result = f.reduce(); + assertEquals(2, result.getNumerator()); + assertEquals(3, result.getDenominator()); - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(2, 5); - f = f1.add(f2); - assertEquals(1, f.getNumerator()); - assertEquals(1, f.getDenominator()); + f = Fraction.getFraction(-2, -3); + result = f.reduce(); + assertEquals(2, result.getNumerator()); + assertEquals(3, result.getDenominator()); - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(3, 5); - f = f1.add(f2); - assertEquals(6, f.getNumerator()); - assertEquals(5, f.getDenominator()); + f = Fraction.getFraction(2, -3); + result = f.reduce(); + assertEquals(-2, result.getNumerator()); + assertEquals(3, result.getDenominator()); - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(-4, 5); - f = f1.add(f2); - assertEquals(-1, f.getNumerator()); - assertEquals(5, f.getDenominator()); + f = Fraction.getFraction(-2, 3); + result = f.reduce(); + assertEquals(-2, result.getNumerator()); + assertEquals(3, result.getDenominator()); + assertSame(f, result); - f1 = Fraction.getFraction(Integer.MAX_VALUE - 1, 1); - f2 = Fraction.ONE; - f = f1.add(f2); - assertEquals(Integer.MAX_VALUE, f.getNumerator()); + f = Fraction.getFraction(2, 3); + result = f.reduce(); + assertEquals(2, result.getNumerator()); + assertEquals(3, result.getDenominator()); + assertSame(f, result); + + f = Fraction.getFraction(0, 1); + result = f.reduce(); + assertEquals(0, result.getNumerator()); + assertEquals(1, result.getDenominator()); + assertSame(f, result); + + f = Fraction.getFraction(0, 100); + result = f.reduce(); + assertEquals(0, result.getNumerator()); + assertEquals(1, result.getDenominator()); + assertSame(result, Fraction.ZERO); + + f = Fraction.getFraction(Integer.MIN_VALUE, 2); + result = f.reduce(); + assertEquals(Integer.MIN_VALUE / 2, result.getNumerator()); + assertEquals(1, result.getDenominator()); + } + + @Test + public void testReducedFactory_int_int() { + Fraction f; + + // zero + f = Fraction.getReducedFraction(0, 1); + assertEquals(0, f.getNumerator()); assertEquals(1, f.getDenominator()); - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(1, 2); - f = f1.add(f2); - assertEquals(11, f.getNumerator()); - assertEquals(10, f.getDenominator()); + // normal + f = Fraction.getReducedFraction(1, 1); + assertEquals(1, f.getNumerator()); + assertEquals(1, f.getDenominator()); - f1 = Fraction.getFraction(3, 8); - f2 = Fraction.getFraction(1, 6); - f = f1.add(f2); - assertEquals(13, f.getNumerator()); - assertEquals(24, f.getDenominator()); + f = Fraction.getReducedFraction(2, 1); + assertEquals(2, f.getNumerator()); + assertEquals(1, f.getDenominator()); - f1 = Fraction.getFraction(0, 5); - f2 = Fraction.getFraction(1, 5); - f = f1.add(f2); - assertSame(f2, f); - f = f2.add(f1); - assertSame(f2, f); + // improper + f = Fraction.getReducedFraction(22, 7); + assertEquals(22, f.getNumerator()); + assertEquals(7, f.getDenominator()); - f1 = Fraction.getFraction(-1, 13*13*2*2); - f2 = Fraction.getFraction(-2, 13*17*2); - final Fraction fr = f1.add(f2); - assertEquals(13*13*17*2*2, fr.getDenominator()); - assertEquals(-17 - 2*13*2, fr.getNumerator()); + // negatives + f = Fraction.getReducedFraction(-6, 10); + assertEquals(-3, f.getNumerator()); + assertEquals(5, f.getDenominator()); - assertThrows(NullPointerException.class, () -> fr.add(null)); + f = Fraction.getReducedFraction(6, -10); + assertEquals(-3, f.getNumerator()); + assertEquals(5, f.getDenominator()); - // if this fraction is added naively, it will overflow. - // check that it doesn't. - f1 = Fraction.getFraction(1, 32768*3); - f2 = Fraction.getFraction(1, 59049); - f = f1.add(f2); - assertEquals(52451, f.getNumerator()); - assertEquals(1934917632, f.getDenominator()); + f = Fraction.getReducedFraction(-6, -10); + assertEquals(3, f.getNumerator()); + assertEquals(5, f.getDenominator()); - f1 = Fraction.getFraction(Integer.MIN_VALUE, 3); - f2 = Fraction.ONE_THIRD; - f = f1.add(f2); - assertEquals(Integer.MIN_VALUE+1, f.getNumerator()); - assertEquals(3, f.getDenominator()); + // zero denominator + assertThrows(ArithmeticException.class, () -> Fraction.getReducedFraction(1, 0)); + assertThrows(ArithmeticException.class, () -> Fraction.getReducedFraction(2, 0)); + assertThrows(ArithmeticException.class, () -> Fraction.getReducedFraction(-3, 0)); - f1 = Fraction.getFraction(Integer.MAX_VALUE - 1, 1); - f2 = Fraction.ONE; - f = f1.add(f2); - assertEquals(Integer.MAX_VALUE, f.getNumerator()); + // reduced + f = Fraction.getReducedFraction(0, 2); + assertEquals(0, f.getNumerator()); + assertEquals(1, f.getDenominator()); + + f = Fraction.getReducedFraction(2, 2); + assertEquals(1, f.getNumerator()); assertEquals(1, f.getDenominator()); - final Fraction overflower = f; - assertThrows(ArithmeticException.class, () -> overflower.add(Fraction.ONE)); // should overflow + f = Fraction.getReducedFraction(2, 4); + assertEquals(1, f.getNumerator()); + assertEquals(2, f.getDenominator()); - // denominator should not be a multiple of 2 or 3 to trigger overflow - assertThrows( - ArithmeticException.class, - () -> Fraction.getFraction(Integer.MIN_VALUE, 5).add(Fraction.getFraction(-1, 5))); + f = Fraction.getReducedFraction(15, 10); + assertEquals(3, f.getNumerator()); + assertEquals(2, f.getDenominator()); - final Fraction maxValue = Fraction.getFraction(-Integer.MAX_VALUE, 1); - assertThrows(ArithmeticException.class, () -> maxValue.add(maxValue)); + f = Fraction.getReducedFraction(121, 22); + assertEquals(11, f.getNumerator()); + assertEquals(2, f.getDenominator()); - final Fraction negativeMaxValue = Fraction.getFraction(-Integer.MAX_VALUE, 1); - assertThrows(ArithmeticException.class, () -> negativeMaxValue.add(negativeMaxValue)); + // Extreme values + // OK, can reduce before negating + f = Fraction.getReducedFraction(-2, Integer.MIN_VALUE); + assertEquals(1, f.getNumerator()); + assertEquals(-(Integer.MIN_VALUE / 2), f.getDenominator()); - final Fraction f3 = Fraction.getFraction(3, 327680); - final Fraction f4 = Fraction.getFraction(2, 59049); - assertThrows(ArithmeticException.class, () -> f3.add(f4)); // should overflow + // Can't reduce, negation will throw + assertThrows(ArithmeticException.class, () -> Fraction.getReducedFraction(-7, Integer.MIN_VALUE)); + + // LANG-662 + f = Fraction.getReducedFraction(Integer.MIN_VALUE, 2); + assertEquals(Integer.MIN_VALUE / 2, f.getNumerator()); + assertEquals(1, f.getDenominator()); } @Test @@ -883,179 +1059,39 @@ public class FractionTest { } @Test - public void testMultiply() { - Fraction f; - Fraction f1; - Fraction f2; - - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(2, 5); - f = f1.multiplyBy(f2); - assertEquals(6, f.getNumerator()); - assertEquals(25, f.getDenominator()); - - f1 = Fraction.getFraction(6, 10); - f2 = Fraction.getFraction(6, 10); - f = f1.multiplyBy(f2); - assertEquals(9, f.getNumerator()); - assertEquals(25, f.getDenominator()); - f = f.multiplyBy(f2); - assertEquals(27, f.getNumerator()); - assertEquals(125, f.getDenominator()); - - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(-2, 5); - f = f1.multiplyBy(f2); - assertEquals(-6, f.getNumerator()); - assertEquals(25, f.getDenominator()); - - f1 = Fraction.getFraction(-3, 5); - f2 = Fraction.getFraction(-2, 5); - f = f1.multiplyBy(f2); - assertEquals(6, f.getNumerator()); - assertEquals(25, f.getDenominator()); - - - f1 = Fraction.getFraction(0, 5); - f2 = Fraction.getFraction(2, 7); - f = f1.multiplyBy(f2); - assertSame(Fraction.ZERO, f); - - f1 = Fraction.getFraction(2, 7); - f2 = Fraction.ONE; - f = f1.multiplyBy(f2); - assertEquals(2, f.getNumerator()); - assertEquals(7, f.getDenominator()); - - f1 = Fraction.getFraction(Integer.MAX_VALUE, 1); - f2 = Fraction.getFraction(Integer.MIN_VALUE, Integer.MAX_VALUE); - f = f1.multiplyBy(f2); - assertEquals(Integer.MIN_VALUE, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - final Fraction fr = f; - assertThrows(NullPointerException.class, () -> fr.multiplyBy(null)); - - final Fraction fr1 = Fraction.getFraction(1, Integer.MAX_VALUE); - assertThrows(ArithmeticException.class, () -> fr1.multiplyBy(fr1)); - - final Fraction fr2 = Fraction.getFraction(1, -Integer.MAX_VALUE); - assertThrows(ArithmeticException.class, () -> fr2.multiplyBy(fr2)); - } - - @Test - public void testDivide() { + public void testToProperString() { Fraction f; - Fraction f1; - Fraction f2; - - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(2, 5); - f = f1.divideBy(f2); - assertEquals(3, f.getNumerator()); - assertEquals(2, f.getDenominator()); - - assertThrows(ArithmeticException.class, () -> Fraction.getFraction(3, 5).divideBy(Fraction.ZERO)); - - f1 = Fraction.getFraction(0, 5); - f2 = Fraction.getFraction(2, 7); - f = f1.divideBy(f2); - assertSame(Fraction.ZERO, f); - - f1 = Fraction.getFraction(2, 7); - f2 = Fraction.ONE; - f = f1.divideBy(f2); - assertEquals(2, f.getNumerator()); - assertEquals(7, f.getDenominator()); - - f1 = Fraction.getFraction(1, Integer.MAX_VALUE); - f = f1.divideBy(f1); - assertEquals(1, f.getNumerator()); - assertEquals(1, f.getDenominator()); - - f1 = Fraction.getFraction(Integer.MIN_VALUE, Integer.MAX_VALUE); - f2 = Fraction.getFraction(1, Integer.MAX_VALUE); - final Fraction fr = f1.divideBy(f2); - assertEquals(Integer.MIN_VALUE, fr.getNumerator()); - assertEquals(1, fr.getDenominator()); - - assertThrows(NullPointerException.class, () -> fr.divideBy(null)); - - final Fraction smallest = Fraction.getFraction(1, Integer.MAX_VALUE); - assertThrows(ArithmeticException.class, () -> smallest.divideBy(smallest.invert())); // Should overflow - - final Fraction negative = Fraction.getFraction(1, -Integer.MAX_VALUE); - assertThrows(ArithmeticException.class, () -> negative.divideBy(negative.invert())); // Should overflow - } - - @Test - public void testEquals() { - Fraction f1; - Fraction f2; - - f1 = Fraction.getFraction(3, 5); - assertNotEquals(null, f1); - assertNotEquals(f1, new Object()); - assertNotEquals(f1, Integer.valueOf(6)); - - f1 = Fraction.getFraction(3, 5); - f2 = Fraction.getFraction(2, 5); - assertNotEquals(f1, f2); - assertEquals(f1, f1); - assertEquals(f2, f2); - - f2 = Fraction.getFraction(3, 5); - assertEquals(f1, f2); - - f2 = Fraction.getFraction(6, 10); - assertNotEquals(f1, f2); - } - - @Test - public void testHashCode() { - final Fraction f1 = Fraction.getFraction(3, 5); - Fraction f2 = Fraction.getFraction(3, 5); - assertEquals(f1.hashCode(), f2.hashCode()); - - f2 = Fraction.getFraction(2, 5); - assertTrue(f1.hashCode() != f2.hashCode()); - - f2 = Fraction.getFraction(6, 10); - assertTrue(f1.hashCode() != f2.hashCode()); - } + f = Fraction.getFraction(3, 5); + final String str = f.toProperString(); + assertEquals("3/5", str); + assertSame(str, f.toProperString()); - @Test - public void testCompareTo() { - Fraction f1; - Fraction f2; + f = Fraction.getFraction(7, 5); + assertEquals("1 2/5", f.toProperString()); - f1 = Fraction.getFraction(3, 5); - assertEquals(0, f1.compareTo(f1)); + f = Fraction.getFraction(14, 10); + assertEquals("1 4/10", f.toProperString()); - final Fraction fr = f1; - assertThrows(NullPointerException.class, () -> fr.compareTo(null)); + f = Fraction.getFraction(4, 2); + assertEquals("2", f.toProperString()); - f2 = Fraction.getFraction(2, 5); - assertTrue(f1.compareTo(f2) > 0); - assertEquals(0, f2.compareTo(f2)); + f = Fraction.getFraction(0, 2); + assertEquals("0", f.toProperString()); - f2 = Fraction.getFraction(4, 5); - assertTrue(f1.compareTo(f2) < 0); - assertEquals(0, f2.compareTo(f2)); + f = Fraction.getFraction(2, 2); + assertEquals("1", f.toProperString()); - f2 = Fraction.getFraction(3, 5); - assertEquals(0, f1.compareTo(f2)); - assertEquals(0, f2.compareTo(f2)); + f = Fraction.getFraction(-7, 5); + assertEquals("-1 2/5", f.toProperString()); - f2 = Fraction.getFraction(6, 10); - assertEquals(0, f1.compareTo(f2)); - assertEquals(0, f2.compareTo(f2)); + f = Fraction.getFraction(Integer.MIN_VALUE, 0, 1); + assertEquals("-2147483648", f.toProperString()); - f2 = Fraction.getFraction(-1, 1, Integer.MAX_VALUE); - assertTrue(f1.compareTo(f2) > 0); - assertEquals(0, f2.compareTo(f2)); + f = Fraction.getFraction(-1, 1, Integer.MAX_VALUE); + assertEquals("-1 1/2147483647", f.toProperString()); + assertEquals("-1", Fraction.getFraction(-1).toProperString()); } @Test @@ -1085,40 +1121,4 @@ public class FractionTest { f = Fraction.getFraction(-1, 1, Integer.MAX_VALUE); assertEquals("-2147483648/2147483647", f.toString()); } - - @Test - public void testToProperString() { - Fraction f; - - f = Fraction.getFraction(3, 5); - final String str = f.toProperString(); - assertEquals("3/5", str); - assertSame(str, f.toProperString()); - - f = Fraction.getFraction(7, 5); - assertEquals("1 2/5", f.toProperString()); - - f = Fraction.getFraction(14, 10); - assertEquals("1 4/10", f.toProperString()); - - f = Fraction.getFraction(4, 2); - assertEquals("2", f.toProperString()); - - f = Fraction.getFraction(0, 2); - assertEquals("0", f.toProperString()); - - f = Fraction.getFraction(2, 2); - assertEquals("1", f.toProperString()); - - f = Fraction.getFraction(-7, 5); - assertEquals("-1 2/5", f.toProperString()); - - f = Fraction.getFraction(Integer.MIN_VALUE, 0, 1); - assertEquals("-2147483648", f.toProperString()); - - f = Fraction.getFraction(-1, 1, Integer.MAX_VALUE); - assertEquals("-1 1/2147483647", f.toProperString()); - - assertEquals("-1", Fraction.getFraction(-1).toProperString()); - } } diff --git a/src/test/java/org/apache/commons/lang3/math/IEEE754rUtilsTest.java b/src/test/java/org/apache/commons/lang3/math/IEEE754rUtilsTest.java index 8312f03..2a4374e 100644 --- a/src/test/java/org/apache/commons/lang3/math/IEEE754rUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/math/IEEE754rUtilsTest.java @@ -28,29 +28,8 @@ import org.junit.jupiter.api.Test; public class IEEE754rUtilsTest { @Test - public void testLang381() { - assertEquals(1.2, IEEE754rUtils.min(1.2, 2.5, Double.NaN), 0.01); - assertEquals(2.5, IEEE754rUtils.max(1.2, 2.5, Double.NaN), 0.01); - assertTrue(Double.isNaN(IEEE754rUtils.max(Double.NaN, Double.NaN, Double.NaN))); - assertEquals(1.2f, IEEE754rUtils.min(1.2f, 2.5f, Float.NaN), 0.01); - assertEquals(2.5f, IEEE754rUtils.max(1.2f, 2.5f, Float.NaN), 0.01); - assertTrue(Float.isNaN(IEEE754rUtils.max(Float.NaN, Float.NaN, Float.NaN))); - - final double[] a = new double[] { 1.2, Double.NaN, 3.7, 27.0, 42.0, Double.NaN }; - assertEquals(42.0, IEEE754rUtils.max(a), 0.01); - assertEquals(1.2, IEEE754rUtils.min(a), 0.01); - - final double[] b = new double[] { Double.NaN, 1.2, Double.NaN, 3.7, 27.0, 42.0, Double.NaN }; - assertEquals(42.0, IEEE754rUtils.max(b), 0.01); - assertEquals(1.2, IEEE754rUtils.min(b), 0.01); - - final float[] aF = new float[] { 1.2f, Float.NaN, 3.7f, 27.0f, 42.0f, Float.NaN }; - assertEquals(1.2f, IEEE754rUtils.min(aF), 0.01); - assertEquals(42.0f, IEEE754rUtils.max(aF), 0.01); - - final float[] bF = new float[] { Float.NaN, 1.2f, Float.NaN, 3.7f, 27.0f, 42.0f, Float.NaN }; - assertEquals(1.2f, IEEE754rUtils.min(bF), 0.01); - assertEquals(42.0f, IEEE754rUtils.max(bF), 0.01); + public void testConstructorExists() { + new IEEE754rUtils(); } @Test @@ -97,8 +76,29 @@ public class IEEE754rUtilsTest { } @Test - public void testConstructorExists() { - new IEEE754rUtils(); + public void testLang381() { + assertEquals(1.2, IEEE754rUtils.min(1.2, 2.5, Double.NaN), 0.01); + assertEquals(2.5, IEEE754rUtils.max(1.2, 2.5, Double.NaN), 0.01); + assertTrue(Double.isNaN(IEEE754rUtils.max(Double.NaN, Double.NaN, Double.NaN))); + assertEquals(1.2f, IEEE754rUtils.min(1.2f, 2.5f, Float.NaN), 0.01); + assertEquals(2.5f, IEEE754rUtils.max(1.2f, 2.5f, Float.NaN), 0.01); + assertTrue(Float.isNaN(IEEE754rUtils.max(Float.NaN, Float.NaN, Float.NaN))); + + final double[] a = new double[] { 1.2, Double.NaN, 3.7, 27.0, 42.0, Double.NaN }; + assertEquals(42.0, IEEE754rUtils.max(a), 0.01); + assertEquals(1.2, IEEE754rUtils.min(a), 0.01); + + final double[] b = new double[] { Double.NaN, 1.2, Double.NaN, 3.7, 27.0, 42.0, Double.NaN }; + assertEquals(42.0, IEEE754rUtils.max(b), 0.01); + assertEquals(1.2, IEEE754rUtils.min(b), 0.01); + + final float[] aF = new float[] { 1.2f, Float.NaN, 3.7f, 27.0f, 42.0f, Float.NaN }; + assertEquals(1.2f, IEEE754rUtils.min(aF), 0.01); + assertEquals(42.0f, IEEE754rUtils.max(aF), 0.01); + + final float[] bF = new float[] { Float.NaN, 1.2f, Float.NaN, 3.7f, 27.0f, 42.0f, Float.NaN }; + assertEquals(1.2f, IEEE754rUtils.min(bF), 0.01); + assertEquals(42.0f, IEEE754rUtils.max(bF), 0.01); } } diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableBooleanTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableBooleanTest.java index 02155a2..53ece82 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableBooleanTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableBooleanTest.java @@ -50,6 +50,11 @@ public class MutableBooleanTest { assertThrows(NullPointerException.class, () -> mutBool.compareTo(null)); } + @Test + public void testConstructorNull() { + assertThrows(NullPointerException.class, () -> new MutableBoolean(null)); + } + // ---------------------------------------------------------------- @Test public void testConstructors() { @@ -64,11 +69,6 @@ public class MutableBooleanTest { } @Test - public void testConstructorNull() { - assertThrows(NullPointerException.class, () -> new MutableBoolean(null)); - } - - @Test public void testEquals() { final MutableBoolean mutBoolA = new MutableBoolean(false); final MutableBoolean mutBoolB = new MutableBoolean(false); @@ -118,12 +118,6 @@ public class MutableBooleanTest { } @Test - public void testSetNull() { - final MutableBoolean mutBool = new MutableBoolean(false); - assertThrows(NullPointerException.class, () -> mutBool.setValue(null)); - } - - @Test public void testHashCode() { final MutableBoolean mutBoolA = new MutableBoolean(false); final MutableBoolean mutBoolB = new MutableBoolean(false); @@ -137,6 +131,12 @@ public class MutableBooleanTest { } @Test + public void testSetNull() { + final MutableBoolean mutBool = new MutableBoolean(false); + assertThrows(NullPointerException.class, () -> mutBool.setValue(null)); + } + + @Test public void testToString() { assertEquals(Boolean.FALSE.toString(), new MutableBoolean(false).toString()); assertEquals(Boolean.TRUE.toString(), new MutableBoolean(true).toString()); diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableByteTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableByteTest.java index 1f2e978..fa94ee0 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableByteTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableByteTest.java @@ -29,78 +29,38 @@ import org.junit.jupiter.api.Test; */ public class MutableByteTest { - // ---------------------------------------------------------------- @Test - public void testConstructors() { - assertEquals((byte) 0, new MutableByte().byteValue()); - - assertEquals((byte) 1, new MutableByte((byte) 1).byteValue()); - - assertEquals((byte) 2, new MutableByte(Byte.valueOf((byte) 2)).byteValue()); - assertEquals((byte) 3, new MutableByte(new MutableByte((byte) 3)).byteValue()); - - assertEquals((byte) 2, new MutableByte("2").byteValue()); - - } + public void testAddAndGetValueObject() { + final MutableByte mutableByte = new MutableByte((byte) 0); + final byte result = mutableByte.addAndGet(Byte.valueOf((byte) 1)); - @Test - public void testConstructorNull() { - assertThrows(NullPointerException.class, () -> new MutableByte((Number) null)); + assertEquals((byte) 1, result); + assertEquals((byte) 1, mutableByte.byteValue()); } @Test - public void testGetSet() { - final MutableByte mutNum = new MutableByte((byte) 0); - assertEquals((byte) 0, new MutableByte().byteValue()); - assertEquals(Byte.valueOf((byte) 0), new MutableByte().getValue()); - - mutNum.setValue((byte) 1); - assertEquals((byte) 1, mutNum.byteValue()); - assertEquals(Byte.valueOf((byte) 1), mutNum.getValue()); - - mutNum.setValue(Byte.valueOf((byte) 2)); - assertEquals((byte) 2, mutNum.byteValue()); - assertEquals(Byte.valueOf((byte) 2), mutNum.getValue()); - - mutNum.setValue(new MutableByte((byte) 3)); - assertEquals((byte) 3, mutNum.byteValue()); - assertEquals(Byte.valueOf((byte) 3), mutNum.getValue()); - } + public void testAddAndGetValuePrimitive() { + final MutableByte mutableByte = new MutableByte((byte) 0); + final byte result = mutableByte.addAndGet((byte) 1); - @Test - public void testSetNull() { - final MutableByte mutNum = new MutableByte((byte) 0); - assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); + assertEquals((byte) 1, result); + assertEquals((byte) 1, mutableByte.byteValue()); } @Test - public void testEquals() { - final MutableByte mutNumA = new MutableByte((byte) 0); - final MutableByte mutNumB = new MutableByte((byte) 0); - final MutableByte mutNumC = new MutableByte((byte) 1); + public void testAddValueObject() { + final MutableByte mutNum = new MutableByte((byte) 1); + mutNum.add(Integer.valueOf(1)); - assertEquals(mutNumA, mutNumA); - assertEquals(mutNumA, mutNumB); - assertEquals(mutNumB, mutNumA); - assertEquals(mutNumB, mutNumB); - assertNotEquals(mutNumA, mutNumC); - assertNotEquals(mutNumB, mutNumC); - assertEquals(mutNumC, mutNumC); - assertNotEquals(null, mutNumA); - assertNotEquals(mutNumA, Byte.valueOf((byte) 0)); - assertNotEquals("0", mutNumA); + assertEquals((byte) 2, mutNum.byteValue()); } @Test - public void testHashCode() { - final MutableByte mutNumA = new MutableByte((byte) 0); - final MutableByte mutNumB = new MutableByte((byte) 0); - final MutableByte mutNumC = new MutableByte((byte) 1); + public void testAddValuePrimitive() { + final MutableByte mutNum = new MutableByte((byte) 1); + mutNum.add((byte) 1); - assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); - assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); - assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); - assertEquals(mutNumA.hashCode(), Byte.valueOf((byte) 0).hashCode()); + assertEquals((byte) 2, mutNum.byteValue()); } @Test @@ -119,49 +79,22 @@ public class MutableByteTest { } @Test - public void testPrimitiveValues() { - final MutableByte mutNum = new MutableByte( (byte) 1 ); - assertEquals(1.0F, mutNum.floatValue()); - assertEquals(1.0, mutNum.doubleValue()); - assertEquals( (byte) 1, mutNum.byteValue() ); - assertEquals( (short) 1, mutNum.shortValue() ); - assertEquals( 1, mutNum.intValue() ); - assertEquals( 1L, mutNum.longValue() ); - } - - @Test - public void testToByte() { - assertEquals(Byte.valueOf((byte) 0), new MutableByte((byte) 0).toByte()); - assertEquals(Byte.valueOf((byte) 123), new MutableByte((byte) 123).toByte()); + public void testConstructorNull() { + assertThrows(NullPointerException.class, () -> new MutableByte((Number) null)); } + // ---------------------------------------------------------------- @Test - public void testIncrement() { - final MutableByte mutNum = new MutableByte((byte) 1); - mutNum.increment(); - - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); - } + public void testConstructors() { + assertEquals((byte) 0, new MutableByte().byteValue()); - @Test - public void testIncrementAndGet() { - final MutableByte mutNum = new MutableByte((byte) 1); - final byte result = mutNum.incrementAndGet(); + assertEquals((byte) 1, new MutableByte((byte) 1).byteValue()); - assertEquals(2, result); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); - } + assertEquals((byte) 2, new MutableByte(Byte.valueOf((byte) 2)).byteValue()); + assertEquals((byte) 3, new MutableByte(new MutableByte((byte) 3)).byteValue()); - @Test - public void testGetAndIncrement() { - final MutableByte mutNum = new MutableByte((byte) 1); - final byte result = mutNum.getAndIncrement(); + assertEquals((byte) 2, new MutableByte("2").byteValue()); - assertEquals(1, result); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); } @Test @@ -184,6 +117,42 @@ public class MutableByteTest { } @Test + public void testEquals() { + final MutableByte mutNumA = new MutableByte((byte) 0); + final MutableByte mutNumB = new MutableByte((byte) 0); + final MutableByte mutNumC = new MutableByte((byte) 1); + + assertEquals(mutNumA, mutNumA); + assertEquals(mutNumA, mutNumB); + assertEquals(mutNumB, mutNumA); + assertEquals(mutNumB, mutNumB); + assertNotEquals(mutNumA, mutNumC); + assertNotEquals(mutNumB, mutNumC); + assertEquals(mutNumC, mutNumC); + assertNotEquals(null, mutNumA); + assertNotEquals(mutNumA, Byte.valueOf((byte) 0)); + assertNotEquals("0", mutNumA); + } + + @Test + public void testGetAndAddValueObject() { + final MutableByte mutableByte = new MutableByte((byte) 0); + final byte result = mutableByte.getAndAdd(Byte.valueOf((byte) 1)); + + assertEquals((byte) 0, result); + assertEquals((byte) 1, mutableByte.byteValue()); + } + + @Test + public void testGetAndAddValuePrimitive() { + final MutableByte mutableByte = new MutableByte((byte) 0); + final byte result = mutableByte.getAndAdd((byte) 1); + + assertEquals((byte) 0, result); + assertEquals((byte) 1, mutableByte.byteValue()); + } + + @Test public void testGetAndDecrement() { final MutableByte mutNum = new MutableByte((byte) 1); final byte result = mutNum.getAndDecrement(); @@ -194,74 +163,105 @@ public class MutableByteTest { } @Test - public void testAddValuePrimitive() { + public void testGetAndIncrement() { final MutableByte mutNum = new MutableByte((byte) 1); - mutNum.add((byte) 1); + final byte result = mutNum.getAndIncrement(); - assertEquals((byte) 2, mutNum.byteValue()); + assertEquals(1, result); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddValueObject() { - final MutableByte mutNum = new MutableByte((byte) 1); - mutNum.add(Integer.valueOf(1)); + public void testGetSet() { + final MutableByte mutNum = new MutableByte((byte) 0); + assertEquals((byte) 0, new MutableByte().byteValue()); + assertEquals(Byte.valueOf((byte) 0), new MutableByte().getValue()); + + mutNum.setValue((byte) 1); + assertEquals((byte) 1, mutNum.byteValue()); + assertEquals(Byte.valueOf((byte) 1), mutNum.getValue()); + mutNum.setValue(Byte.valueOf((byte) 2)); assertEquals((byte) 2, mutNum.byteValue()); + assertEquals(Byte.valueOf((byte) 2), mutNum.getValue()); + + mutNum.setValue(new MutableByte((byte) 3)); + assertEquals((byte) 3, mutNum.byteValue()); + assertEquals(Byte.valueOf((byte) 3), mutNum.getValue()); } @Test - public void testGetAndAddValuePrimitive() { - final MutableByte mutableByte = new MutableByte((byte) 0); - final byte result = mutableByte.getAndAdd((byte) 1); + public void testHashCode() { + final MutableByte mutNumA = new MutableByte((byte) 0); + final MutableByte mutNumB = new MutableByte((byte) 0); + final MutableByte mutNumC = new MutableByte((byte) 1); - assertEquals((byte) 0, result); - assertEquals((byte) 1, mutableByte.byteValue()); + assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); + assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); + assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); + assertEquals(mutNumA.hashCode(), Byte.valueOf((byte) 0).hashCode()); } @Test - public void testGetAndAddValueObject() { - final MutableByte mutableByte = new MutableByte((byte) 0); - final byte result = mutableByte.getAndAdd(Byte.valueOf((byte) 1)); + public void testIncrement() { + final MutableByte mutNum = new MutableByte((byte) 1); + mutNum.increment(); - assertEquals((byte) 0, result); - assertEquals((byte) 1, mutableByte.byteValue()); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddAndGetValuePrimitive() { - final MutableByte mutableByte = new MutableByte((byte) 0); - final byte result = mutableByte.addAndGet((byte) 1); + public void testIncrementAndGet() { + final MutableByte mutNum = new MutableByte((byte) 1); + final byte result = mutNum.incrementAndGet(); - assertEquals((byte) 1, result); - assertEquals((byte) 1, mutableByte.byteValue()); + assertEquals(2, result); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddAndGetValueObject() { - final MutableByte mutableByte = new MutableByte((byte) 0); - final byte result = mutableByte.addAndGet(Byte.valueOf((byte) 1)); + public void testPrimitiveValues() { + final MutableByte mutNum = new MutableByte( (byte) 1 ); + assertEquals(1.0F, mutNum.floatValue()); + assertEquals(1.0, mutNum.doubleValue()); + assertEquals( (byte) 1, mutNum.byteValue() ); + assertEquals( (short) 1, mutNum.shortValue() ); + assertEquals( 1, mutNum.intValue() ); + assertEquals( 1L, mutNum.longValue() ); + } - assertEquals((byte) 1, result); - assertEquals((byte) 1, mutableByte.byteValue()); + @Test + public void testSetNull() { + final MutableByte mutNum = new MutableByte((byte) 0); + assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); } @Test - public void testSubtractValuePrimitive() { + public void testSubtractValueObject() { final MutableByte mutNum = new MutableByte((byte) 1); - mutNum.subtract((byte) 1); + mutNum.subtract(Integer.valueOf(1)); assertEquals((byte) 0, mutNum.byteValue()); } @Test - public void testSubtractValueObject() { + public void testSubtractValuePrimitive() { final MutableByte mutNum = new MutableByte((byte) 1); - mutNum.subtract(Integer.valueOf(1)); + mutNum.subtract((byte) 1); assertEquals((byte) 0, mutNum.byteValue()); } @Test + public void testToByte() { + assertEquals(Byte.valueOf((byte) 0), new MutableByte((byte) 0).toByte()); + assertEquals(Byte.valueOf((byte) 123), new MutableByte((byte) 123).toByte()); + } + + @Test public void testToString() { assertEquals("0", new MutableByte((byte) 0).toString()); assertEquals("10", new MutableByte((byte) 10).toString()); diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableDoubleTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableDoubleTest.java index ccb8fc7..cf51933 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableDoubleTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableDoubleTest.java @@ -30,18 +30,53 @@ import org.junit.jupiter.api.Test; */ public class MutableDoubleTest { - // ---------------------------------------------------------------- @Test - public void testConstructors() { - assertEquals(0d, new MutableDouble().doubleValue(), 0.0001d); + public void testAddAndGetValueObject() { + final MutableDouble mutableDouble = new MutableDouble(7.5d); + final double result = mutableDouble.addAndGet(Double.valueOf(-2.5d)); - assertEquals(1d, new MutableDouble(1d).doubleValue(), 0.0001d); + assertEquals(5d, result, 0.01d); + assertEquals(5d, mutableDouble.doubleValue(), 0.01d); + } - assertEquals(2d, new MutableDouble(Double.valueOf(2d)).doubleValue(), 0.0001d); - assertEquals(3d, new MutableDouble(new MutableDouble(3d)).doubleValue(), 0.0001d); + @Test + public void testAddAndGetValuePrimitive() { + final MutableDouble mutableDouble = new MutableDouble(10.5d); + final double result = mutableDouble.addAndGet(-0.5d); - assertEquals(2d, new MutableDouble("2.0").doubleValue(), 0.0001d); + assertEquals(10d, result, 0.01d); + assertEquals(10d, mutableDouble.doubleValue(), 0.01d); + } + @Test + public void testAddValueObject() { + final MutableDouble mutNum = new MutableDouble(1); + mutNum.add(Double.valueOf(1.1d)); + + assertEquals(2.1d, mutNum.doubleValue(), 0.01d); + } + + @Test + public void testAddValuePrimitive() { + final MutableDouble mutNum = new MutableDouble(1); + mutNum.add(1.1d); + + assertEquals(2.1d, mutNum.doubleValue(), 0.01d); + } + + @Test + public void testCompareTo() { + final MutableDouble mutNum = new MutableDouble(0d); + + assertEquals(0, mutNum.compareTo(new MutableDouble(0d))); + assertEquals(+1, mutNum.compareTo(new MutableDouble(-1d))); + assertEquals(-1, mutNum.compareTo(new MutableDouble(1d))); + } + + @Test + public void testCompareToNull() { + final MutableDouble mutNum = new MutableDouble(0d); + assertThrows(NullPointerException.class, () -> mutNum.compareTo(null)); } @Test @@ -49,41 +84,37 @@ public class MutableDoubleTest { assertThrows(NullPointerException.class, () -> new MutableDouble((Number) null)); } + // ---------------------------------------------------------------- @Test - public void testGetSet() { - final MutableDouble mutNum = new MutableDouble(0d); + public void testConstructors() { assertEquals(0d, new MutableDouble().doubleValue(), 0.0001d); - assertEquals(Double.valueOf(0), new MutableDouble().getValue()); - mutNum.setValue(1); - assertEquals(1d, mutNum.doubleValue(), 0.0001d); - assertEquals(Double.valueOf(1d), mutNum.getValue()); + assertEquals(1d, new MutableDouble(1d).doubleValue(), 0.0001d); - mutNum.setValue(Double.valueOf(2d)); - assertEquals(2d, mutNum.doubleValue(), 0.0001d); - assertEquals(Double.valueOf(2d), mutNum.getValue()); + assertEquals(2d, new MutableDouble(Double.valueOf(2d)).doubleValue(), 0.0001d); + assertEquals(3d, new MutableDouble(new MutableDouble(3d)).doubleValue(), 0.0001d); + + assertEquals(2d, new MutableDouble("2.0").doubleValue(), 0.0001d); - mutNum.setValue(new MutableDouble(3d)); - assertEquals(3d, mutNum.doubleValue(), 0.0001d); - assertEquals(Double.valueOf(3d), mutNum.getValue()); } @Test - public void testSetNull() { - final MutableDouble mutNum = new MutableDouble(0d); - assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); + public void testDecrement() { + final MutableDouble mutNum = new MutableDouble(1); + mutNum.decrement(); + + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test - public void testNanInfinite() { - MutableDouble mutNum = new MutableDouble(Double.NaN); - assertTrue(mutNum.isNaN()); - - mutNum = new MutableDouble(Double.POSITIVE_INFINITY); - assertTrue(mutNum.isInfinite()); + public void testDecrementAndGet() { + final MutableDouble mutNum = new MutableDouble(1d); + final double result = mutNum.decrementAndGet(); - mutNum = new MutableDouble(Double.NEGATIVE_INFINITY); - assertTrue(mutNum.isInfinite()); + assertEquals(0d, result, 0.01d); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -105,66 +136,31 @@ public class MutableDoubleTest { } @Test - public void testHashCode() { - final MutableDouble mutNumA = new MutableDouble(0d); - final MutableDouble mutNumB = new MutableDouble(0d); - final MutableDouble mutNumC = new MutableDouble(1d); - - assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); - assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); - assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); - assertEquals(mutNumA.hashCode(), Double.valueOf(0d).hashCode()); - } - - @Test - public void testCompareTo() { - final MutableDouble mutNum = new MutableDouble(0d); - - assertEquals(0, mutNum.compareTo(new MutableDouble(0d))); - assertEquals(+1, mutNum.compareTo(new MutableDouble(-1d))); - assertEquals(-1, mutNum.compareTo(new MutableDouble(1d))); - } - - @Test - public void testCompareToNull() { - final MutableDouble mutNum = new MutableDouble(0d); - assertThrows(NullPointerException.class, () -> mutNum.compareTo(null)); - } - - @Test - public void testPrimitiveValues() { - final MutableDouble mutNum = new MutableDouble(1.7); - assertEquals(1.7F, mutNum.floatValue()); - assertEquals(1.7, mutNum.doubleValue()); - assertEquals( (byte) 1, mutNum.byteValue() ); - assertEquals( (short) 1, mutNum.shortValue() ); - assertEquals( 1, mutNum.intValue() ); - assertEquals( 1L, mutNum.longValue() ); - } + public void testGetAndAddValueObject() { + final MutableDouble mutableDouble = new MutableDouble(0.5d); + final double result = mutableDouble.getAndAdd(Double.valueOf(2d)); - @Test - public void testToDouble() { - assertEquals(Double.valueOf(0d), new MutableDouble(0d).toDouble()); - assertEquals(Double.valueOf(12.3d), new MutableDouble(12.3d).toDouble()); + assertEquals(0.5d, result, 0.01d); + assertEquals(2.5d, mutableDouble.doubleValue(), 0.01d); } @Test - public void testIncrement() { - final MutableDouble mutNum = new MutableDouble(1); - mutNum.increment(); + public void testGetAndAddValuePrimitive() { + final MutableDouble mutableDouble = new MutableDouble(0.5d); + final double result = mutableDouble.getAndAdd(1d); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + assertEquals(0.5d, result, 0.01d); + assertEquals(1.5d, mutableDouble.doubleValue(), 0.01d); } @Test - public void testIncrementAndGet() { + public void testGetAndDecrement() { final MutableDouble mutNum = new MutableDouble(1d); - final double result = mutNum.incrementAndGet(); + final double result = mutNum.getAndDecrement(); - assertEquals(2d, result, 0.01d); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + assertEquals(1d, result, 0.01d); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -178,84 +174,90 @@ public class MutableDoubleTest { } @Test - public void testDecrement() { - final MutableDouble mutNum = new MutableDouble(1); - mutNum.decrement(); + public void testGetSet() { + final MutableDouble mutNum = new MutableDouble(0d); + assertEquals(0d, new MutableDouble().doubleValue(), 0.0001d); + assertEquals(Double.valueOf(0), new MutableDouble().getValue()); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); - } + mutNum.setValue(1); + assertEquals(1d, mutNum.doubleValue(), 0.0001d); + assertEquals(Double.valueOf(1d), mutNum.getValue()); - @Test - public void testDecrementAndGet() { - final MutableDouble mutNum = new MutableDouble(1d); - final double result = mutNum.decrementAndGet(); + mutNum.setValue(Double.valueOf(2d)); + assertEquals(2d, mutNum.doubleValue(), 0.0001d); + assertEquals(Double.valueOf(2d), mutNum.getValue()); - assertEquals(0d, result, 0.01d); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + mutNum.setValue(new MutableDouble(3d)); + assertEquals(3d, mutNum.doubleValue(), 0.0001d); + assertEquals(Double.valueOf(3d), mutNum.getValue()); } @Test - public void testGetAndDecrement() { - final MutableDouble mutNum = new MutableDouble(1d); - final double result = mutNum.getAndDecrement(); + public void testHashCode() { + final MutableDouble mutNumA = new MutableDouble(0d); + final MutableDouble mutNumB = new MutableDouble(0d); + final MutableDouble mutNumC = new MutableDouble(1d); - assertEquals(1d, result, 0.01d); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); + assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); + assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); + assertEquals(mutNumA.hashCode(), Double.valueOf(0d).hashCode()); } @Test - public void testAddValuePrimitive() { + public void testIncrement() { final MutableDouble mutNum = new MutableDouble(1); - mutNum.add(1.1d); + mutNum.increment(); - assertEquals(2.1d, mutNum.doubleValue(), 0.01d); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddValueObject() { - final MutableDouble mutNum = new MutableDouble(1); - mutNum.add(Double.valueOf(1.1d)); + public void testIncrementAndGet() { + final MutableDouble mutNum = new MutableDouble(1d); + final double result = mutNum.incrementAndGet(); - assertEquals(2.1d, mutNum.doubleValue(), 0.01d); + assertEquals(2d, result, 0.01d); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testGetAndAddValuePrimitive() { - final MutableDouble mutableDouble = new MutableDouble(0.5d); - final double result = mutableDouble.getAndAdd(1d); + public void testNanInfinite() { + MutableDouble mutNum = new MutableDouble(Double.NaN); + assertTrue(mutNum.isNaN()); - assertEquals(0.5d, result, 0.01d); - assertEquals(1.5d, mutableDouble.doubleValue(), 0.01d); + mutNum = new MutableDouble(Double.POSITIVE_INFINITY); + assertTrue(mutNum.isInfinite()); + + mutNum = new MutableDouble(Double.NEGATIVE_INFINITY); + assertTrue(mutNum.isInfinite()); } @Test - public void testGetAndAddValueObject() { - final MutableDouble mutableDouble = new MutableDouble(0.5d); - final double result = mutableDouble.getAndAdd(Double.valueOf(2d)); - - assertEquals(0.5d, result, 0.01d); - assertEquals(2.5d, mutableDouble.doubleValue(), 0.01d); + public void testPrimitiveValues() { + final MutableDouble mutNum = new MutableDouble(1.7); + assertEquals(1.7F, mutNum.floatValue()); + assertEquals(1.7, mutNum.doubleValue()); + assertEquals( (byte) 1, mutNum.byteValue() ); + assertEquals( (short) 1, mutNum.shortValue() ); + assertEquals( 1, mutNum.intValue() ); + assertEquals( 1L, mutNum.longValue() ); } @Test - public void testAddAndGetValuePrimitive() { - final MutableDouble mutableDouble = new MutableDouble(10.5d); - final double result = mutableDouble.addAndGet(-0.5d); - - assertEquals(10d, result, 0.01d); - assertEquals(10d, mutableDouble.doubleValue(), 0.01d); + public void testSetNull() { + final MutableDouble mutNum = new MutableDouble(0d); + assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); } @Test - public void testAddAndGetValueObject() { - final MutableDouble mutableDouble = new MutableDouble(7.5d); - final double result = mutableDouble.addAndGet(Double.valueOf(-2.5d)); + public void testSubtractValueObject() { + final MutableDouble mutNum = new MutableDouble(1); + mutNum.subtract(Double.valueOf(0.9d)); - assertEquals(5d, result, 0.01d); - assertEquals(5d, mutableDouble.doubleValue(), 0.01d); + assertEquals(0.1d, mutNum.doubleValue(), 0.01d); } @Test @@ -267,11 +269,9 @@ public class MutableDoubleTest { } @Test - public void testSubtractValueObject() { - final MutableDouble mutNum = new MutableDouble(1); - mutNum.subtract(Double.valueOf(0.9d)); - - assertEquals(0.1d, mutNum.doubleValue(), 0.01d); + public void testToDouble() { + assertEquals(Double.valueOf(0d), new MutableDouble(0d).toDouble()); + assertEquals(Double.valueOf(12.3d), new MutableDouble(12.3d).toDouble()); } @Test diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableFloatTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableFloatTest.java index f3105bb..7538367 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableFloatTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableFloatTest.java @@ -30,18 +30,53 @@ import org.junit.jupiter.api.Test; */ public class MutableFloatTest { - // ---------------------------------------------------------------- @Test - public void testConstructors() { - assertEquals(0f, new MutableFloat().floatValue(), 0.0001f); + public void testAddAndGetValueObject() { + final MutableFloat mutableFloat = new MutableFloat(5f); + final float result = mutableFloat.addAndGet(Float.valueOf(2.5f)); - assertEquals(1f, new MutableFloat(1f).floatValue(), 0.0001f); + assertEquals(7.5f, result, 0.01f); + assertEquals(7.5f, mutableFloat.floatValue(), 0.01f); + } - assertEquals(2f, new MutableFloat(Float.valueOf(2f)).floatValue(), 0.0001f); - assertEquals(3f, new MutableFloat(new MutableFloat(3f)).floatValue(), 0.0001f); + @Test + public void testAddAndGetValuePrimitive() { + final MutableFloat mutableFloat = new MutableFloat(0.5f); + final float result = mutableFloat.addAndGet(1f); - assertEquals(2f, new MutableFloat("2.0").floatValue(), 0.0001f); + assertEquals(1.5f, result, 0.01f); + assertEquals(1.5f, mutableFloat.floatValue(), 0.01f); + } + @Test + public void testAddValueObject() { + final MutableFloat mutNum = new MutableFloat(1); + mutNum.add(Float.valueOf(1.1f)); + + assertEquals(2.1f, mutNum.floatValue(), 0.01f); + } + + @Test + public void testAddValuePrimitive() { + final MutableFloat mutNum = new MutableFloat(1); + mutNum.add(1.1f); + + assertEquals(2.1f, mutNum.floatValue(), 0.01f); + } + + @Test + public void testCompareTo() { + final MutableFloat mutNum = new MutableFloat(0f); + + assertEquals(0, mutNum.compareTo(new MutableFloat(0f))); + assertEquals(+1, mutNum.compareTo(new MutableFloat(-1f))); + assertEquals(-1, mutNum.compareTo(new MutableFloat(1f))); + } + + @Test + public void testCompareToNull() { + final MutableFloat mutNum = new MutableFloat(0f); + assertThrows(NullPointerException.class, () -> mutNum.compareTo(null)); } @Test @@ -49,41 +84,37 @@ public class MutableFloatTest { assertThrows(NullPointerException.class, () -> new MutableFloat((Number) null)); } + // ---------------------------------------------------------------- @Test - public void testGetSet() { - final MutableFloat mutNum = new MutableFloat(0f); + public void testConstructors() { assertEquals(0f, new MutableFloat().floatValue(), 0.0001f); - assertEquals(Float.valueOf(0), new MutableFloat().getValue()); - mutNum.setValue(1); - assertEquals(1f, mutNum.floatValue(), 0.0001f); - assertEquals(Float.valueOf(1f), mutNum.getValue()); + assertEquals(1f, new MutableFloat(1f).floatValue(), 0.0001f); - mutNum.setValue(Float.valueOf(2f)); - assertEquals(2f, mutNum.floatValue(), 0.0001f); - assertEquals(Float.valueOf(2f), mutNum.getValue()); + assertEquals(2f, new MutableFloat(Float.valueOf(2f)).floatValue(), 0.0001f); + assertEquals(3f, new MutableFloat(new MutableFloat(3f)).floatValue(), 0.0001f); + + assertEquals(2f, new MutableFloat("2.0").floatValue(), 0.0001f); - mutNum.setValue(new MutableFloat(3f)); - assertEquals(3f, mutNum.floatValue(), 0.0001f); - assertEquals(Float.valueOf(3f), mutNum.getValue()); } @Test - public void testSetNull() { - final MutableFloat mutNum = new MutableFloat(0f); - assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); + public void testDecrement() { + final MutableFloat mutNum = new MutableFloat(1); + mutNum.decrement(); + + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test - public void testNanInfinite() { - MutableFloat mutNum = new MutableFloat(Float.NaN); - assertTrue(mutNum.isNaN()); - - mutNum = new MutableFloat(Float.POSITIVE_INFINITY); - assertTrue(mutNum.isInfinite()); + public void testDecrementAndGet() { + final MutableFloat mutNum = new MutableFloat(1f); + final float result = mutNum.decrementAndGet(); - mutNum = new MutableFloat(Float.NEGATIVE_INFINITY); - assertTrue(mutNum.isInfinite()); + assertEquals(0f, result, 0.01f); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -105,67 +136,31 @@ public class MutableFloatTest { } @Test - public void testHashCode() { - final MutableFloat mutNumA = new MutableFloat(0f); - final MutableFloat mutNumB = new MutableFloat(0f); - final MutableFloat mutNumC = new MutableFloat(1f); - - assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); - assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); - assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); - assertEquals(mutNumA.hashCode(), Float.valueOf(0f).hashCode()); - } - - @Test - public void testCompareTo() { - final MutableFloat mutNum = new MutableFloat(0f); - - assertEquals(0, mutNum.compareTo(new MutableFloat(0f))); - assertEquals(+1, mutNum.compareTo(new MutableFloat(-1f))); - assertEquals(-1, mutNum.compareTo(new MutableFloat(1f))); - } - - @Test - public void testCompareToNull() { - final MutableFloat mutNum = new MutableFloat(0f); - assertThrows(NullPointerException.class, () -> mutNum.compareTo(null)); - } - - @Test - public void testPrimitiveValues() { - final MutableFloat mutNum = new MutableFloat(1.7F); - - assertEquals( 1, mutNum.intValue() ); - assertEquals( 1.7, mutNum.doubleValue(), 0.00001 ); - assertEquals( (byte) 1, mutNum.byteValue() ); - assertEquals( (short) 1, mutNum.shortValue() ); - assertEquals( 1, mutNum.intValue() ); - assertEquals( 1L, mutNum.longValue() ); - } + public void testGetAndAddValueObject() { + final MutableFloat mutableFloat = new MutableFloat(7.75f); + final float result = mutableFloat.getAndAdd(Float.valueOf(2.25f)); - @Test - public void testToFloat() { - assertEquals(Float.valueOf(0f), new MutableFloat(0f).toFloat()); - assertEquals(Float.valueOf(12.3f), new MutableFloat(12.3f).toFloat()); + assertEquals(7.75f, result, 0.01f); + assertEquals(10f, mutableFloat.floatValue(), 0.01f); } @Test - public void testIncrement() { - final MutableFloat mutNum = new MutableFloat(1); - mutNum.increment(); + public void testGetAndAddValuePrimitive() { + final MutableFloat mutableFloat = new MutableFloat(1.25f); + final float result = mutableFloat.getAndAdd(0.75f); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + assertEquals(1.25f, result, 0.01f); + assertEquals(2f, mutableFloat.floatValue(), 0.01f); } @Test - public void testIncrementAndGet() { + public void testGetAndDecrement() { final MutableFloat mutNum = new MutableFloat(1f); - final float result = mutNum.incrementAndGet(); + final float result = mutNum.getAndDecrement(); - assertEquals(2f, result, 0.01f); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + assertEquals(1f, result, 0.01f); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -179,84 +174,91 @@ public class MutableFloatTest { } @Test - public void testDecrement() { - final MutableFloat mutNum = new MutableFloat(1); - mutNum.decrement(); + public void testGetSet() { + final MutableFloat mutNum = new MutableFloat(0f); + assertEquals(0f, new MutableFloat().floatValue(), 0.0001f); + assertEquals(Float.valueOf(0), new MutableFloat().getValue()); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); - } + mutNum.setValue(1); + assertEquals(1f, mutNum.floatValue(), 0.0001f); + assertEquals(Float.valueOf(1f), mutNum.getValue()); - @Test - public void testDecrementAndGet() { - final MutableFloat mutNum = new MutableFloat(1f); - final float result = mutNum.decrementAndGet(); + mutNum.setValue(Float.valueOf(2f)); + assertEquals(2f, mutNum.floatValue(), 0.0001f); + assertEquals(Float.valueOf(2f), mutNum.getValue()); - assertEquals(0f, result, 0.01f); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + mutNum.setValue(new MutableFloat(3f)); + assertEquals(3f, mutNum.floatValue(), 0.0001f); + assertEquals(Float.valueOf(3f), mutNum.getValue()); } @Test - public void testGetAndDecrement() { - final MutableFloat mutNum = new MutableFloat(1f); - final float result = mutNum.getAndDecrement(); + public void testHashCode() { + final MutableFloat mutNumA = new MutableFloat(0f); + final MutableFloat mutNumB = new MutableFloat(0f); + final MutableFloat mutNumC = new MutableFloat(1f); - assertEquals(1f, result, 0.01f); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); + assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); + assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); + assertEquals(mutNumA.hashCode(), Float.valueOf(0f).hashCode()); } @Test - public void testAddValuePrimitive() { + public void testIncrement() { final MutableFloat mutNum = new MutableFloat(1); - mutNum.add(1.1f); + mutNum.increment(); - assertEquals(2.1f, mutNum.floatValue(), 0.01f); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddValueObject() { - final MutableFloat mutNum = new MutableFloat(1); - mutNum.add(Float.valueOf(1.1f)); + public void testIncrementAndGet() { + final MutableFloat mutNum = new MutableFloat(1f); + final float result = mutNum.incrementAndGet(); - assertEquals(2.1f, mutNum.floatValue(), 0.01f); + assertEquals(2f, result, 0.01f); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testGetAndAddValuePrimitive() { - final MutableFloat mutableFloat = new MutableFloat(1.25f); - final float result = mutableFloat.getAndAdd(0.75f); + public void testNanInfinite() { + MutableFloat mutNum = new MutableFloat(Float.NaN); + assertTrue(mutNum.isNaN()); - assertEquals(1.25f, result, 0.01f); - assertEquals(2f, mutableFloat.floatValue(), 0.01f); + mutNum = new MutableFloat(Float.POSITIVE_INFINITY); + assertTrue(mutNum.isInfinite()); + + mutNum = new MutableFloat(Float.NEGATIVE_INFINITY); + assertTrue(mutNum.isInfinite()); } @Test - public void testGetAndAddValueObject() { - final MutableFloat mutableFloat = new MutableFloat(7.75f); - final float result = mutableFloat.getAndAdd(Float.valueOf(2.25f)); + public void testPrimitiveValues() { + final MutableFloat mutNum = new MutableFloat(1.7F); - assertEquals(7.75f, result, 0.01f); - assertEquals(10f, mutableFloat.floatValue(), 0.01f); + assertEquals( 1, mutNum.intValue() ); + assertEquals( 1.7, mutNum.doubleValue(), 0.00001 ); + assertEquals( (byte) 1, mutNum.byteValue() ); + assertEquals( (short) 1, mutNum.shortValue() ); + assertEquals( 1, mutNum.intValue() ); + assertEquals( 1L, mutNum.longValue() ); } @Test - public void testAddAndGetValuePrimitive() { - final MutableFloat mutableFloat = new MutableFloat(0.5f); - final float result = mutableFloat.addAndGet(1f); - - assertEquals(1.5f, result, 0.01f); - assertEquals(1.5f, mutableFloat.floatValue(), 0.01f); + public void testSetNull() { + final MutableFloat mutNum = new MutableFloat(0f); + assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); } @Test - public void testAddAndGetValueObject() { - final MutableFloat mutableFloat = new MutableFloat(5f); - final float result = mutableFloat.addAndGet(Float.valueOf(2.5f)); + public void testSubtractValueObject() { + final MutableFloat mutNum = new MutableFloat(1); + mutNum.subtract(Float.valueOf(0.9f)); - assertEquals(7.5f, result, 0.01f); - assertEquals(7.5f, mutableFloat.floatValue(), 0.01f); + assertEquals(0.1f, mutNum.floatValue(), 0.01f); } @Test @@ -268,11 +270,9 @@ public class MutableFloatTest { } @Test - public void testSubtractValueObject() { - final MutableFloat mutNum = new MutableFloat(1); - mutNum.subtract(Float.valueOf(0.9f)); - - assertEquals(0.1f, mutNum.floatValue(), 0.01f); + public void testToFloat() { + assertEquals(Float.valueOf(0f), new MutableFloat(0f).toFloat()); + assertEquals(Float.valueOf(12.3f), new MutableFloat(12.3f).toFloat()); } @Test diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableIntTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableIntTest.java index a02a2c5..6892fa1 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableIntTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableIntTest.java @@ -29,18 +29,55 @@ import org.junit.jupiter.api.Test; */ public class MutableIntTest { - // ---------------------------------------------------------------- @Test - public void testConstructors() { - assertEquals(0, new MutableInt().intValue()); + public void testAddAndGetValueObject() { + final MutableInt mutableInteger = new MutableInt(0); + final int result = mutableInteger.addAndGet(Integer.valueOf(1)); - assertEquals(1, new MutableInt(1).intValue()); + assertEquals(1, result); + assertEquals(1, mutableInteger.intValue()); + } - assertEquals(2, new MutableInt(Integer.valueOf(2)).intValue()); - assertEquals(3, new MutableInt(new MutableLong(3)).intValue()); + @Test + public void testAddAndGetValuePrimitive() { + final MutableInt mutableInteger = new MutableInt(0); + final int result = mutableInteger.addAndGet(1); - assertEquals(2, new MutableInt("2").intValue()); + assertEquals(1, result); + assertEquals(1, mutableInteger.intValue()); + } + + @Test + public void testAddValueObject() { + final MutableInt mutNum = new MutableInt(1); + mutNum.add(Integer.valueOf(1)); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); + } + + @Test + public void testAddValuePrimitive() { + final MutableInt mutNum = new MutableInt(1); + mutNum.add(1); + + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); + } + + @Test + public void testCompareTo() { + final MutableInt mutNum = new MutableInt(0); + + assertEquals(0, mutNum.compareTo(new MutableInt(0))); + assertEquals(+1, mutNum.compareTo(new MutableInt(-1))); + assertEquals(-1, mutNum.compareTo(new MutableInt(1))); + } + + @Test + public void testCompareToNull() { + final MutableInt mutNum = new MutableInt(0); + assertThrows(NullPointerException.class, () -> mutNum.compareTo(null)); } @Test @@ -48,29 +85,37 @@ public class MutableIntTest { assertThrows(NullPointerException.class, () -> new MutableInt((Number) null)); } + // ---------------------------------------------------------------- @Test - public void testGetSet() { - final MutableInt mutNum = new MutableInt(0); + public void testConstructors() { assertEquals(0, new MutableInt().intValue()); - assertEquals(Integer.valueOf(0), new MutableInt().getValue()); - mutNum.setValue(1); - assertEquals(1, mutNum.intValue()); - assertEquals(Integer.valueOf(1), mutNum.getValue()); + assertEquals(1, new MutableInt(1).intValue()); - mutNum.setValue(Integer.valueOf(2)); - assertEquals(2, mutNum.intValue()); - assertEquals(Integer.valueOf(2), mutNum.getValue()); + assertEquals(2, new MutableInt(Integer.valueOf(2)).intValue()); + assertEquals(3, new MutableInt(new MutableLong(3)).intValue()); + + assertEquals(2, new MutableInt("2").intValue()); - mutNum.setValue(new MutableLong(3)); - assertEquals(3, mutNum.intValue()); - assertEquals(Integer.valueOf(3), mutNum.getValue()); } @Test - public void testSetNull() { - final MutableInt mutNum = new MutableInt(0); - assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); + public void testDecrement() { + final MutableInt mutNum = new MutableInt(1); + mutNum.decrement(); + + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); + } + + @Test + public void testDecrementAndGet() { + final MutableInt mutNum = new MutableInt(1); + final int result = mutNum.decrementAndGet(); + + assertEquals(0, result); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -99,65 +144,31 @@ public class MutableIntTest { } @Test - public void testHashCode() { - final MutableInt mutNumA = new MutableInt(0); - final MutableInt mutNumB = new MutableInt(0); - final MutableInt mutNumC = new MutableInt(1); - - assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); - assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); - assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); - assertEquals(mutNumA.hashCode(), Integer.valueOf(0).hashCode()); - } - - @Test - public void testCompareTo() { - final MutableInt mutNum = new MutableInt(0); - - assertEquals(0, mutNum.compareTo(new MutableInt(0))); - assertEquals(+1, mutNum.compareTo(new MutableInt(-1))); - assertEquals(-1, mutNum.compareTo(new MutableInt(1))); - } - - @Test - public void testCompareToNull() { - final MutableInt mutNum = new MutableInt(0); - assertThrows(NullPointerException.class, () -> mutNum.compareTo(null)); - } - - @Test - public void testPrimitiveValues() { - final MutableInt mutNum = new MutableInt(1); - assertEquals( (byte) 1, mutNum.byteValue() ); - assertEquals( (short) 1, mutNum.shortValue() ); - assertEquals(1.0F, mutNum.floatValue()); - assertEquals(1.0, mutNum.doubleValue()); - assertEquals( 1L, mutNum.longValue() ); - } + public void testGetAndAddValueObject() { + final MutableInt mutableInteger = new MutableInt(0); + final int result = mutableInteger.getAndAdd(Integer.valueOf(1)); - @Test - public void testToInteger() { - assertEquals(Integer.valueOf(0), new MutableInt(0).toInteger()); - assertEquals(Integer.valueOf(123), new MutableInt(123).toInteger()); + assertEquals(0, result); + assertEquals(1, mutableInteger.intValue()); } @Test - public void testIncrement() { - final MutableInt mutNum = new MutableInt(1); - mutNum.increment(); + public void testGetAndAddValuePrimitive() { + final MutableInt mutableInteger = new MutableInt(0); + final int result = mutableInteger.getAndAdd(1); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + assertEquals(0, result); + assertEquals(1, mutableInteger.intValue()); } @Test - public void testIncrementAndGet() { + public void testGetAndDecrement() { final MutableInt mutNum = new MutableInt(1); - final int result = mutNum.incrementAndGet(); + final int result = mutNum.getAndDecrement(); - assertEquals(2, result); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + assertEquals(1, result); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -171,86 +182,78 @@ public class MutableIntTest { } @Test - public void testDecrement() { - final MutableInt mutNum = new MutableInt(1); - mutNum.decrement(); + public void testGetSet() { + final MutableInt mutNum = new MutableInt(0); + assertEquals(0, new MutableInt().intValue()); + assertEquals(Integer.valueOf(0), new MutableInt().getValue()); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); - } + mutNum.setValue(1); + assertEquals(1, mutNum.intValue()); + assertEquals(Integer.valueOf(1), mutNum.getValue()); - @Test - public void testDecrementAndGet() { - final MutableInt mutNum = new MutableInt(1); - final int result = mutNum.decrementAndGet(); + mutNum.setValue(Integer.valueOf(2)); + assertEquals(2, mutNum.intValue()); + assertEquals(Integer.valueOf(2), mutNum.getValue()); - assertEquals(0, result); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + mutNum.setValue(new MutableLong(3)); + assertEquals(3, mutNum.intValue()); + assertEquals(Integer.valueOf(3), mutNum.getValue()); } @Test - public void testGetAndDecrement() { - final MutableInt mutNum = new MutableInt(1); - final int result = mutNum.getAndDecrement(); + public void testHashCode() { + final MutableInt mutNumA = new MutableInt(0); + final MutableInt mutNumB = new MutableInt(0); + final MutableInt mutNumC = new MutableInt(1); - assertEquals(1, result); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); + assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); + assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); + assertEquals(mutNumA.hashCode(), Integer.valueOf(0).hashCode()); } @Test - public void testAddValuePrimitive() { + public void testIncrement() { final MutableInt mutNum = new MutableInt(1); - mutNum.add(1); + mutNum.increment(); assertEquals(2, mutNum.intValue()); assertEquals(2L, mutNum.longValue()); } @Test - public void testAddValueObject() { + public void testIncrementAndGet() { final MutableInt mutNum = new MutableInt(1); - mutNum.add(Integer.valueOf(1)); + final int result = mutNum.incrementAndGet(); + assertEquals(2, result); assertEquals(2, mutNum.intValue()); assertEquals(2L, mutNum.longValue()); } @Test - public void testGetAndAddValuePrimitive() { - final MutableInt mutableInteger = new MutableInt(0); - final int result = mutableInteger.getAndAdd(1); - - assertEquals(0, result); - assertEquals(1, mutableInteger.intValue()); - } - - @Test - public void testGetAndAddValueObject() { - final MutableInt mutableInteger = new MutableInt(0); - final int result = mutableInteger.getAndAdd(Integer.valueOf(1)); - - assertEquals(0, result); - assertEquals(1, mutableInteger.intValue()); + public void testPrimitiveValues() { + final MutableInt mutNum = new MutableInt(1); + assertEquals( (byte) 1, mutNum.byteValue() ); + assertEquals( (short) 1, mutNum.shortValue() ); + assertEquals(1.0F, mutNum.floatValue()); + assertEquals(1.0, mutNum.doubleValue()); + assertEquals( 1L, mutNum.longValue() ); } @Test - public void testAddAndGetValuePrimitive() { - final MutableInt mutableInteger = new MutableInt(0); - final int result = mutableInteger.addAndGet(1); - - assertEquals(1, result); - assertEquals(1, mutableInteger.intValue()); + public void testSetNull() { + final MutableInt mutNum = new MutableInt(0); + assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); } @Test - public void testAddAndGetValueObject() { - final MutableInt mutableInteger = new MutableInt(0); - final int result = mutableInteger.addAndGet(Integer.valueOf(1)); + public void testSubtractValueObject() { + final MutableInt mutNum = new MutableInt(1); + mutNum.subtract(Integer.valueOf(1)); - assertEquals(1, result); - assertEquals(1, mutableInteger.intValue()); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -263,12 +266,9 @@ public class MutableIntTest { } @Test - public void testSubtractValueObject() { - final MutableInt mutNum = new MutableInt(1); - mutNum.subtract(Integer.valueOf(1)); - - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + public void testToInteger() { + assertEquals(Integer.valueOf(0), new MutableInt(0).toInteger()); + assertEquals(Integer.valueOf(123), new MutableInt(123).toInteger()); } @Test diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableLongTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableLongTest.java index 8d1b999..e7dbe57 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableLongTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableLongTest.java @@ -29,78 +29,40 @@ import org.junit.jupiter.api.Test; */ public class MutableLongTest { - // ---------------------------------------------------------------- @Test - public void testConstructors() { - assertEquals(0, new MutableLong().longValue()); - - assertEquals(1, new MutableLong(1).longValue()); - - assertEquals(2, new MutableLong(Long.valueOf(2)).longValue()); - assertEquals(3, new MutableLong(new MutableLong(3)).longValue()); - - assertEquals(2, new MutableLong("2").longValue()); - - } + public void testAddAndGetValueObject() { + final MutableLong mutableLong = new MutableLong(0L); + final long result = mutableLong.addAndGet(Long.valueOf(1L)); - @Test - public void testConstructorNull() { - assertThrows(NullPointerException.class, () -> new MutableLong((Number) null)); + assertEquals(1L, result); + assertEquals(1L, mutableLong.longValue()); } @Test - public void testGetSet() { - final MutableLong mutNum = new MutableLong(0); - assertEquals(0, new MutableLong().longValue()); - assertEquals(Long.valueOf(0), new MutableLong().getValue()); - - mutNum.setValue(1); - assertEquals(1, mutNum.longValue()); - assertEquals(Long.valueOf(1), mutNum.getValue()); - - mutNum.setValue(Long.valueOf(2)); - assertEquals(2, mutNum.longValue()); - assertEquals(Long.valueOf(2), mutNum.getValue()); - - mutNum.setValue(new MutableLong(3)); - assertEquals(3, mutNum.longValue()); - assertEquals(Long.valueOf(3), mutNum.getValue()); - } + public void testAddAndGetValuePrimitive() { + final MutableLong mutableLong = new MutableLong(0L); + final long result = mutableLong.addAndGet(1L); - @Test - public void testSetNull() { - final MutableLong mutNum = new MutableLong(0); - assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); + assertEquals(1L, result); + assertEquals(1L, mutableLong.longValue()); } @Test - public void testEquals() { - final MutableLong mutNumA = new MutableLong(0); - final MutableLong mutNumB = new MutableLong(0); - final MutableLong mutNumC = new MutableLong(1); + public void testAddValueObject() { + final MutableLong mutNum = new MutableLong(1); + mutNum.add(Long.valueOf(1)); - assertEquals(mutNumA, mutNumA); - assertEquals(mutNumA, mutNumB); - assertEquals(mutNumB, mutNumA); - assertEquals(mutNumB, mutNumB); - assertNotEquals(mutNumA, mutNumC); - assertNotEquals(mutNumB, mutNumC); - assertEquals(mutNumC, mutNumC); - assertNotEquals(null, mutNumA); - assertNotEquals(mutNumA, Long.valueOf(0)); - assertNotEquals("0", mutNumA); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testHashCode() { - final MutableLong mutNumA = new MutableLong(0); - final MutableLong mutNumB = new MutableLong(0); - final MutableLong mutNumC = new MutableLong(1); + public void testAddValuePrimitive() { + final MutableLong mutNum = new MutableLong(1); + mutNum.add(1); - assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); - assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); - assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); - assertEquals(mutNumA.hashCode(), Long.valueOf(0).hashCode()); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test @@ -119,49 +81,22 @@ public class MutableLongTest { } @Test - public void testPrimitiveValues() { - final MutableLong mutNum = new MutableLong(1L); - assertEquals(1.0F, mutNum.floatValue()); - assertEquals(1.0, mutNum.doubleValue()); - assertEquals( (byte) 1, mutNum.byteValue() ); - assertEquals( (short) 1, mutNum.shortValue() ); - assertEquals( 1, mutNum.intValue() ); - assertEquals( 1L, mutNum.longValue() ); - } - - @Test - public void testToLong() { - assertEquals(Long.valueOf(0L), new MutableLong(0L).toLong()); - assertEquals(Long.valueOf(123L), new MutableLong(123L).toLong()); + public void testConstructorNull() { + assertThrows(NullPointerException.class, () -> new MutableLong((Number) null)); } + // ---------------------------------------------------------------- @Test - public void testIncrement() { - final MutableLong mutNum = new MutableLong(1); - mutNum.increment(); - - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); - } + public void testConstructors() { + assertEquals(0, new MutableLong().longValue()); - @Test - public void testIncrementAndGet() { - final MutableLong mutNum = new MutableLong(1L); - final long result = mutNum.incrementAndGet(); + assertEquals(1, new MutableLong(1).longValue()); - assertEquals(2, result); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); - } + assertEquals(2, new MutableLong(Long.valueOf(2)).longValue()); + assertEquals(3, new MutableLong(new MutableLong(3)).longValue()); - @Test - public void testGetAndIncrement() { - final MutableLong mutNum = new MutableLong(1L); - final long result = mutNum.getAndIncrement(); + assertEquals(2, new MutableLong("2").longValue()); - assertEquals(1, result); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); } @Test @@ -184,6 +119,42 @@ public class MutableLongTest { } @Test + public void testEquals() { + final MutableLong mutNumA = new MutableLong(0); + final MutableLong mutNumB = new MutableLong(0); + final MutableLong mutNumC = new MutableLong(1); + + assertEquals(mutNumA, mutNumA); + assertEquals(mutNumA, mutNumB); + assertEquals(mutNumB, mutNumA); + assertEquals(mutNumB, mutNumB); + assertNotEquals(mutNumA, mutNumC); + assertNotEquals(mutNumB, mutNumC); + assertEquals(mutNumC, mutNumC); + assertNotEquals(null, mutNumA); + assertNotEquals(mutNumA, Long.valueOf(0)); + assertNotEquals("0", mutNumA); + } + + @Test + public void testGetAndAddValueObject() { + final MutableLong mutableLong = new MutableLong(0L); + final long result = mutableLong.getAndAdd(Long.valueOf(1L)); + + assertEquals(0L, result); + assertEquals(1L, mutableLong.longValue()); + } + + @Test + public void testGetAndAddValuePrimitive() { + final MutableLong mutableLong = new MutableLong(0L); + final long result = mutableLong.getAndAdd(1L); + + assertEquals(0L, result); + assertEquals(1L, mutableLong.longValue()); + } + + @Test public void testGetAndDecrement() { final MutableLong mutNum = new MutableLong(1L); final long result = mutNum.getAndDecrement(); @@ -194,78 +165,107 @@ public class MutableLongTest { } @Test - public void testAddValuePrimitive() { - final MutableLong mutNum = new MutableLong(1); - mutNum.add(1); + public void testGetAndIncrement() { + final MutableLong mutNum = new MutableLong(1L); + final long result = mutNum.getAndIncrement(); + assertEquals(1, result); assertEquals(2, mutNum.intValue()); assertEquals(2L, mutNum.longValue()); } @Test - public void testAddValueObject() { - final MutableLong mutNum = new MutableLong(1); - mutNum.add(Long.valueOf(1)); + public void testGetSet() { + final MutableLong mutNum = new MutableLong(0); + assertEquals(0, new MutableLong().longValue()); + assertEquals(Long.valueOf(0), new MutableLong().getValue()); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + mutNum.setValue(1); + assertEquals(1, mutNum.longValue()); + assertEquals(Long.valueOf(1), mutNum.getValue()); + + mutNum.setValue(Long.valueOf(2)); + assertEquals(2, mutNum.longValue()); + assertEquals(Long.valueOf(2), mutNum.getValue()); + + mutNum.setValue(new MutableLong(3)); + assertEquals(3, mutNum.longValue()); + assertEquals(Long.valueOf(3), mutNum.getValue()); } @Test - public void testGetAndAddValuePrimitive() { - final MutableLong mutableLong = new MutableLong(0L); - final long result = mutableLong.getAndAdd(1L); + public void testHashCode() { + final MutableLong mutNumA = new MutableLong(0); + final MutableLong mutNumB = new MutableLong(0); + final MutableLong mutNumC = new MutableLong(1); - assertEquals(0L, result); - assertEquals(1L, mutableLong.longValue()); + assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); + assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); + assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); + assertEquals(mutNumA.hashCode(), Long.valueOf(0).hashCode()); } @Test - public void testGetAndAddValueObject() { - final MutableLong mutableLong = new MutableLong(0L); - final long result = mutableLong.getAndAdd(Long.valueOf(1L)); + public void testIncrement() { + final MutableLong mutNum = new MutableLong(1); + mutNum.increment(); - assertEquals(0L, result); - assertEquals(1L, mutableLong.longValue()); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddAndGetValuePrimitive() { - final MutableLong mutableLong = new MutableLong(0L); - final long result = mutableLong.addAndGet(1L); + public void testIncrementAndGet() { + final MutableLong mutNum = new MutableLong(1L); + final long result = mutNum.incrementAndGet(); - assertEquals(1L, result); - assertEquals(1L, mutableLong.longValue()); + assertEquals(2, result); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddAndGetValueObject() { - final MutableLong mutableLong = new MutableLong(0L); - final long result = mutableLong.addAndGet(Long.valueOf(1L)); + public void testPrimitiveValues() { + final MutableLong mutNum = new MutableLong(1L); + assertEquals(1.0F, mutNum.floatValue()); + assertEquals(1.0, mutNum.doubleValue()); + assertEquals( (byte) 1, mutNum.byteValue() ); + assertEquals( (short) 1, mutNum.shortValue() ); + assertEquals( 1, mutNum.intValue() ); + assertEquals( 1L, mutNum.longValue() ); + } - assertEquals(1L, result); - assertEquals(1L, mutableLong.longValue()); + @Test + public void testSetNull() { + final MutableLong mutNum = new MutableLong(0); + assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); } @Test - public void testSubtractValuePrimitive() { + public void testSubtractValueObject() { final MutableLong mutNum = new MutableLong(1); - mutNum.subtract(1); + mutNum.subtract(Long.valueOf(1)); assertEquals(0, mutNum.intValue()); assertEquals(0L, mutNum.longValue()); } @Test - public void testSubtractValueObject() { + public void testSubtractValuePrimitive() { final MutableLong mutNum = new MutableLong(1); - mutNum.subtract(Long.valueOf(1)); + mutNum.subtract(1); assertEquals(0, mutNum.intValue()); assertEquals(0L, mutNum.longValue()); } @Test + public void testToLong() { + assertEquals(Long.valueOf(0L), new MutableLong(0L).toLong()); + assertEquals(Long.valueOf(123L), new MutableLong(123L).toLong()); + } + + @Test public void testToString() { assertEquals("0", new MutableLong(0).toString()); assertEquals("10", new MutableLong(10).toString()); diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableObjectTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableObjectTest.java index ac05ce6..96b39f7 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableObjectTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableObjectTest.java @@ -43,18 +43,6 @@ public class MutableObjectTest { } @Test - public void testGetSet() { - final MutableObject<String> mutNum = new MutableObject<>(); - assertNull(new MutableObject<>().getValue()); - - mutNum.setValue("HELLO"); - assertSame("HELLO", mutNum.getValue()); - - mutNum.setValue(null); - assertSame(null, mutNum.getValue()); - } - - @Test public void testEquals() { final MutableObject<String> mutNumA = new MutableObject<>("ALPHA"); final MutableObject<String> mutNumB = new MutableObject<>("ALPHA"); @@ -77,6 +65,18 @@ public class MutableObjectTest { } @Test + public void testGetSet() { + final MutableObject<String> mutNum = new MutableObject<>(); + assertNull(new MutableObject<>().getValue()); + + mutNum.setValue("HELLO"); + assertSame("HELLO", mutNum.getValue()); + + mutNum.setValue(null); + assertSame(null, mutNum.getValue()); + } + + @Test public void testHashCode() { final MutableObject<String> mutNumA = new MutableObject<>("ALPHA"); final MutableObject<String> mutNumB = new MutableObject<>("ALPHA"); diff --git a/src/test/java/org/apache/commons/lang3/mutable/MutableShortTest.java b/src/test/java/org/apache/commons/lang3/mutable/MutableShortTest.java index c5b32cf..c775931 100644 --- a/src/test/java/org/apache/commons/lang3/mutable/MutableShortTest.java +++ b/src/test/java/org/apache/commons/lang3/mutable/MutableShortTest.java @@ -29,6 +29,50 @@ import org.junit.jupiter.api.Test; */ public class MutableShortTest { + @Test + public void testAddAndGetValueObject() { + final MutableShort mutableShort = new MutableShort((short) 0); + final short result = mutableShort.addAndGet(Short.valueOf((short) 1)); + + assertEquals((short) 1, result); + assertEquals((short) 1, mutableShort.shortValue()); + } + + @Test + public void testAddAndGetValuePrimitive() { + final MutableShort mutableShort = new MutableShort((short) 0); + final short result = mutableShort.addAndGet((short) 1); + + assertEquals((short) 1, result); + assertEquals((short) 1, mutableShort.shortValue()); + } + + @Test + public void testAddValueObject() { + final MutableShort mutNum = new MutableShort((short) 1); + mutNum.add(Short.valueOf((short) 1)); + + assertEquals((short) 2, mutNum.shortValue()); + } + + @Test + public void testAddValuePrimitive() { + final MutableShort mutNum = new MutableShort((short) 1); + mutNum.add((short) 1); + + assertEquals((short) 2, mutNum.shortValue()); + } + + @Test + public void testCompareTo() { + final MutableShort mutNum = new MutableShort((short) 0); + + assertEquals((short) 0, mutNum.compareTo(new MutableShort((short) 0))); + assertEquals((short) +1, mutNum.compareTo(new MutableShort((short) -1))); + assertEquals((short) -1, mutNum.compareTo(new MutableShort((short) 1))); + assertThrows(NullPointerException.class, () -> mutNum.compareTo(null)); + } + // ---------------------------------------------------------------- @Test public void testConstructors() { @@ -45,23 +89,22 @@ public class MutableShortTest { } @Test - public void testGetSet() { - final MutableShort mutNum = new MutableShort((short) 0); - assertEquals((short) 0, new MutableShort().shortValue()); - assertEquals(Short.valueOf((short) 0), new MutableShort().getValue()); + public void testDecrement() { + final MutableShort mutNum = new MutableShort((short) 1); + mutNum.decrement(); - mutNum.setValue((short) 1); - assertEquals((short) 1, mutNum.shortValue()); - assertEquals(Short.valueOf((short) 1), mutNum.getValue()); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); + } - mutNum.setValue(Short.valueOf((short) 2)); - assertEquals((short) 2, mutNum.shortValue()); - assertEquals(Short.valueOf((short) 2), mutNum.getValue()); + @Test + public void testDecrementAndGet() { + final MutableShort mutNum = new MutableShort((short) 1); + final short result = mutNum.decrementAndGet(); - mutNum.setValue(new MutableShort((short) 3)); - assertEquals((short) 3, mutNum.shortValue()); - assertEquals(Short.valueOf((short) 3), mutNum.getValue()); - assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); + assertEquals(0, result); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -83,61 +126,31 @@ public class MutableShortTest { } @Test - public void testHashCode() { - final MutableShort mutNumA = new MutableShort((short) 0); - final MutableShort mutNumB = new MutableShort((short) 0); - final MutableShort mutNumC = new MutableShort((short) 1); - - assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); - assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); - assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); - assertEquals(mutNumA.hashCode(), Short.valueOf((short) 0).hashCode()); - } - - @Test - public void testCompareTo() { - final MutableShort mutNum = new MutableShort((short) 0); - - assertEquals((short) 0, mutNum.compareTo(new MutableShort((short) 0))); - assertEquals((short) +1, mutNum.compareTo(new MutableShort((short) -1))); - assertEquals((short) -1, mutNum.compareTo(new MutableShort((short) 1))); - assertThrows(NullPointerException.class, () -> mutNum.compareTo(null)); - } - - @Test - public void testPrimitiveValues() { - final MutableShort mutNum = new MutableShort( (short) 1 ); - assertEquals(1.0F, mutNum.floatValue()); - assertEquals(1.0, mutNum.doubleValue()); - assertEquals( (byte) 1, mutNum.byteValue() ); - assertEquals( (short) 1, mutNum.shortValue() ); - assertEquals( 1, mutNum.intValue() ); - assertEquals( 1L, mutNum.longValue() ); - } + public void testGetAndAddValueObject() { + final MutableShort mutableShort = new MutableShort((short) 0); + final short result = mutableShort.getAndAdd(Short.valueOf((short) 1)); - @Test - public void testToShort() { - assertEquals(Short.valueOf((short) 0), new MutableShort((short) 0).toShort()); - assertEquals(Short.valueOf((short) 123), new MutableShort((short) 123).toShort()); + assertEquals((short) 0, result); + assertEquals((short) 1, mutableShort.shortValue()); } @Test - public void testIncrement() { - final MutableShort mutNum = new MutableShort((short) 1); - mutNum.increment(); + public void testGetAndAddValuePrimitive() { + final MutableShort mutableShort = new MutableShort((short) 0); + final short result = mutableShort.getAndAdd((short) 1); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + assertEquals((short) 0, result); + assertEquals((short) 1, mutableShort.shortValue()); } @Test - public void testIncrementAndGet() { + public void testGetAndDecrement() { final MutableShort mutNum = new MutableShort((short) 1); - final short result = mutNum.incrementAndGet(); + final short result = mutNum.getAndDecrement(); - assertEquals(2, result); - assertEquals(2, mutNum.intValue()); - assertEquals(2L, mutNum.longValue()); + assertEquals(1, result); + assertEquals(0, mutNum.intValue()); + assertEquals(0L, mutNum.longValue()); } @Test @@ -151,84 +164,73 @@ public class MutableShortTest { } @Test - public void testDecrement() { - final MutableShort mutNum = new MutableShort((short) 1); - mutNum.decrement(); + public void testGetSet() { + final MutableShort mutNum = new MutableShort((short) 0); + assertEquals((short) 0, new MutableShort().shortValue()); + assertEquals(Short.valueOf((short) 0), new MutableShort().getValue()); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); - } + mutNum.setValue((short) 1); + assertEquals((short) 1, mutNum.shortValue()); + assertEquals(Short.valueOf((short) 1), mutNum.getValue()); - @Test - public void testDecrementAndGet() { - final MutableShort mutNum = new MutableShort((short) 1); - final short result = mutNum.decrementAndGet(); + mutNum.setValue(Short.valueOf((short) 2)); + assertEquals((short) 2, mutNum.shortValue()); + assertEquals(Short.valueOf((short) 2), mutNum.getValue()); - assertEquals(0, result); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + mutNum.setValue(new MutableShort((short) 3)); + assertEquals((short) 3, mutNum.shortValue()); + assertEquals(Short.valueOf((short) 3), mutNum.getValue()); + assertThrows(NullPointerException.class, () -> mutNum.setValue(null)); } @Test - public void testGetAndDecrement() { - final MutableShort mutNum = new MutableShort((short) 1); - final short result = mutNum.getAndDecrement(); + public void testHashCode() { + final MutableShort mutNumA = new MutableShort((short) 0); + final MutableShort mutNumB = new MutableShort((short) 0); + final MutableShort mutNumC = new MutableShort((short) 1); - assertEquals(1, result); - assertEquals(0, mutNum.intValue()); - assertEquals(0L, mutNum.longValue()); + assertEquals(mutNumA.hashCode(), mutNumA.hashCode()); + assertEquals(mutNumA.hashCode(), mutNumB.hashCode()); + assertNotEquals(mutNumA.hashCode(), mutNumC.hashCode()); + assertEquals(mutNumA.hashCode(), Short.valueOf((short) 0).hashCode()); } @Test - public void testAddValuePrimitive() { + public void testIncrement() { final MutableShort mutNum = new MutableShort((short) 1); - mutNum.add((short) 1); + mutNum.increment(); - assertEquals((short) 2, mutNum.shortValue()); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddValueObject() { + public void testIncrementAndGet() { final MutableShort mutNum = new MutableShort((short) 1); - mutNum.add(Short.valueOf((short) 1)); - - assertEquals((short) 2, mutNum.shortValue()); - } - - @Test - public void testGetAndAddValuePrimitive() { - final MutableShort mutableShort = new MutableShort((short) 0); - final short result = mutableShort.getAndAdd((short) 1); - - assertEquals((short) 0, result); - assertEquals((short) 1, mutableShort.shortValue()); - } - - @Test - public void testGetAndAddValueObject() { - final MutableShort mutableShort = new MutableShort((short) 0); - final short result = mutableShort.getAndAdd(Short.valueOf((short) 1)); + final short result = mutNum.incrementAndGet(); - assertEquals((short) 0, result); - assertEquals((short) 1, mutableShort.shortValue()); + assertEquals(2, result); + assertEquals(2, mutNum.intValue()); + assertEquals(2L, mutNum.longValue()); } @Test - public void testAddAndGetValuePrimitive() { - final MutableShort mutableShort = new MutableShort((short) 0); - final short result = mutableShort.addAndGet((short) 1); - - assertEquals((short) 1, result); - assertEquals((short) 1, mutableShort.shortValue()); + public void testPrimitiveValues() { + final MutableShort mutNum = new MutableShort( (short) 1 ); + assertEquals(1.0F, mutNum.floatValue()); + assertEquals(1.0, mutNum.doubleValue()); + assertEquals( (byte) 1, mutNum.byteValue() ); + assertEquals( (short) 1, mutNum.shortValue() ); + assertEquals( 1, mutNum.intValue() ); + assertEquals( 1L, mutNum.longValue() ); } @Test - public void testAddAndGetValueObject() { - final MutableShort mutableShort = new MutableShort((short) 0); - final short result = mutableShort.addAndGet(Short.valueOf((short) 1)); + public void testSubtractValueObject() { + final MutableShort mutNum = new MutableShort((short) 1); + mutNum.subtract(Short.valueOf((short) 1)); - assertEquals((short) 1, result); - assertEquals((short) 1, mutableShort.shortValue()); + assertEquals((short) 0, mutNum.shortValue()); } @Test @@ -240,11 +242,9 @@ public class MutableShortTest { } @Test - public void testSubtractValueObject() { - final MutableShort mutNum = new MutableShort((short) 1); - mutNum.subtract(Short.valueOf((short) 1)); - - assertEquals((short) 0, mutNum.shortValue()); + public void testToShort() { + assertEquals(Short.valueOf((short) 0), new MutableShort((short) 0).toShort()); + assertEquals(Short.valueOf((short) 123), new MutableShort((short) 123).toShort()); } @Test diff --git a/src/test/java/org/apache/commons/lang3/tuple/ImmutablePairTest.java b/src/test/java/org/apache/commons/lang3/tuple/ImmutablePairTest.java index 4dc1f42..c1b9f35 100644 --- a/src/test/java/org/apache/commons/lang3/tuple/ImmutablePairTest.java +++ b/src/test/java/org/apache/commons/lang3/tuple/ImmutablePairTest.java @@ -38,19 +38,6 @@ import org.junit.jupiter.api.Test; public class ImmutablePairTest { @Test - public void testEmptyArrayLength() { - @SuppressWarnings("unchecked") - final ImmutablePair<Integer, String>[] empty = (ImmutablePair<Integer, String>[]) ImmutablePair.EMPTY_ARRAY; - assertEquals(0, empty.length); - } - - @Test - public void testEmptyArrayGenerics() { - final ImmutablePair<Integer, String>[] empty = ImmutablePair.emptyArray(); - assertEquals(0, empty.length); - } - - @Test public void testBasic() { ImmutablePair<Integer, String> oldPair = new ImmutablePair<>(0, "foo"); ImmutablePair<Integer, String> nowPair; @@ -77,6 +64,43 @@ public class ImmutablePairTest { } @Test + public void testComparableLeftOnly() { + final Pair<String, String> pair1 = ImmutablePair.left("A"); + final Pair<String, String> pair2 = ImmutablePair.left("B"); + assertEquals("A", pair1.getLeft()); + assertEquals("B", pair2.getLeft()); + assertEquals(0, pair1.compareTo(pair1)); + assertTrue(pair1.compareTo(pair2) < 0); + assertEquals(0, pair2.compareTo(pair2)); + assertTrue(pair2.compareTo(pair1) > 0); + } + + @Test + public void testComparableRightOnly() { + final Pair<String, String> pair1 = ImmutablePair.right("A"); + final Pair<String, String> pair2 = ImmutablePair.right("B"); + assertEquals("A", pair1.getRight()); + assertEquals("B", pair2.getRight()); + assertEquals(0, pair1.compareTo(pair1)); + assertTrue(pair1.compareTo(pair2) < 0); + assertEquals(0, pair2.compareTo(pair2)); + assertTrue(pair2.compareTo(pair1) > 0); + } + + @Test + public void testEmptyArrayGenerics() { + final ImmutablePair<Integer, String>[] empty = ImmutablePair.emptyArray(); + assertEquals(0, empty.length); + } + + @Test + public void testEmptyArrayLength() { + @SuppressWarnings("unchecked") + final ImmutablePair<Integer, String>[] empty = (ImmutablePair<Integer, String>[]) ImmutablePair.EMPTY_ARRAY; + assertEquals(0, empty.length); + } + + @Test public void testEquals() { assertEquals(ImmutablePair.of(null, "foo"), ImmutablePair.of(null, "foo")); assertNotEquals(ImmutablePair.of("foo", 0), ImmutablePair.of("foo", null)); @@ -175,6 +199,18 @@ public class ImmutablePairTest { } @Test + public void testToStringLeft() { + final Pair<String, String> pair = ImmutablePair.left("Key"); + assertEquals("(Key,null)", pair.toString()); + } + + @Test + public void testToStringRight() { + final Pair<String, String> pair = ImmutablePair.right("Value"); + assertEquals("(null,Value)", pair.toString()); + } + + @Test public void testUseAsKeyOfHashMap() { final HashMap<ImmutablePair<Object, Object>, String> map = new HashMap<>(); final Object o1 = new Object(); @@ -203,40 +239,4 @@ public class ImmutablePairTest { assertEquals(item.getLeft() + "" + item.getRight(), entry.getValue()); } } - - @Test - public void testComparableLeftOnly() { - final Pair<String, String> pair1 = ImmutablePair.left("A"); - final Pair<String, String> pair2 = ImmutablePair.left("B"); - assertEquals("A", pair1.getLeft()); - assertEquals("B", pair2.getLeft()); - assertEquals(0, pair1.compareTo(pair1)); - assertTrue(pair1.compareTo(pair2) < 0); - assertEquals(0, pair2.compareTo(pair2)); - assertTrue(pair2.compareTo(pair1) > 0); - } - - @Test - public void testComparableRightOnly() { - final Pair<String, String> pair1 = ImmutablePair.right("A"); - final Pair<String, String> pair2 = ImmutablePair.right("B"); - assertEquals("A", pair1.getRight()); - assertEquals("B", pair2.getRight()); - assertEquals(0, pair1.compareTo(pair1)); - assertTrue(pair1.compareTo(pair2) < 0); - assertEquals(0, pair2.compareTo(pair2)); - assertTrue(pair2.compareTo(pair1) > 0); - } - - @Test - public void testToStringLeft() { - final Pair<String, String> pair = ImmutablePair.left("Key"); - assertEquals("(Key,null)", pair.toString()); - } - - @Test - public void testToStringRight() { - final Pair<String, String> pair = ImmutablePair.right("Value"); - assertEquals("(null,Value)", pair.toString()); - } } diff --git a/src/test/java/org/apache/commons/lang3/tuple/ImmutableTripleTest.java b/src/test/java/org/apache/commons/lang3/tuple/ImmutableTripleTest.java index 0af0535..cd18bce 100644 --- a/src/test/java/org/apache/commons/lang3/tuple/ImmutableTripleTest.java +++ b/src/test/java/org/apache/commons/lang3/tuple/ImmutableTripleTest.java @@ -37,19 +37,6 @@ import org.junit.jupiter.api.Test; public class ImmutableTripleTest { @Test - public void testEmptyArrayLength() { - @SuppressWarnings("unchecked") - final ImmutableTriple<Integer, String, Boolean>[] empty = (ImmutableTriple<Integer, String, Boolean>[]) ImmutableTriple.EMPTY_ARRAY; - assertEquals(0, empty.length); - } - - @Test - public void testEmptyArrayGenerics() { - final ImmutableTriple<Integer, String, Boolean>[] empty = ImmutableTriple.emptyArray(); - assertEquals(0, empty.length); - } - - @Test public void testBasic() { final ImmutableTriple<Integer, String, Boolean> triple = new ImmutableTriple<>(0, "foo", Boolean.TRUE); assertEquals(0, triple.left.intValue()); @@ -68,6 +55,19 @@ public class ImmutableTripleTest { } @Test + public void testEmptyArrayGenerics() { + final ImmutableTriple<Integer, String, Boolean>[] empty = ImmutableTriple.emptyArray(); + assertEquals(0, empty.length); + } + + @Test + public void testEmptyArrayLength() { + @SuppressWarnings("unchecked") + final ImmutableTriple<Integer, String, Boolean>[] empty = (ImmutableTriple<Integer, String, Boolean>[]) ImmutableTriple.EMPTY_ARRAY; + assertEquals(0, empty.length); + } + + @Test public void testEquals() { assertEquals(ImmutableTriple.of(null, "foo", 42), ImmutableTriple.of(null, "foo", 42)); assertNotEquals(ImmutableTriple.of("foo", 0, Boolean.TRUE), ImmutableTriple.of("foo", null, null)); diff --git a/src/test/java/org/apache/commons/lang3/tuple/MutablePairTest.java b/src/test/java/org/apache/commons/lang3/tuple/MutablePairTest.java index 1f6c04e..045b02c 100644 --- a/src/test/java/org/apache/commons/lang3/tuple/MutablePairTest.java +++ b/src/test/java/org/apache/commons/lang3/tuple/MutablePairTest.java @@ -32,19 +32,6 @@ import org.junit.jupiter.api.Test; public class MutablePairTest { @Test - public void testEmptyArrayLength() { - @SuppressWarnings("unchecked") - final MutablePair<Integer, String>[] empty = (MutablePair<Integer, String>[]) MutablePair.EMPTY_ARRAY; - assertEquals(0, empty.length); - } - - @Test - public void testEmptyArrayGenerics() { - final MutablePair<Integer, String>[] empty = MutablePair.emptyArray(); - assertEquals(0, empty.length); - } - - @Test public void testBasic() { MutablePair<Integer, String> oldPair = new MutablePair<>(0, "foo"); MutablePair<Integer, String> nowPair; @@ -78,6 +65,19 @@ public class MutablePairTest { } @Test + public void testEmptyArrayGenerics() { + final MutablePair<Integer, String>[] empty = MutablePair.emptyArray(); + assertEquals(0, empty.length); + } + + @Test + public void testEmptyArrayLength() { + @SuppressWarnings("unchecked") + final MutablePair<Integer, String>[] empty = (MutablePair<Integer, String>[]) MutablePair.EMPTY_ARRAY; + assertEquals(0, empty.length); + } + + @Test public void testEquals() { assertEquals(MutablePair.of(null, "foo"), MutablePair.of(null, "foo")); assertNotEquals(MutablePair.of("foo", 0), MutablePair.of("foo", null)); diff --git a/src/test/java/org/apache/commons/lang3/tuple/MutableTripleTest.java b/src/test/java/org/apache/commons/lang3/tuple/MutableTripleTest.java index 830e062..d4de141 100644 --- a/src/test/java/org/apache/commons/lang3/tuple/MutableTripleTest.java +++ b/src/test/java/org/apache/commons/lang3/tuple/MutableTripleTest.java @@ -29,19 +29,6 @@ import org.junit.jupiter.api.Test; public class MutableTripleTest { @Test - public void testEmptyArrayLength() { - @SuppressWarnings("unchecked") - final MutableTriple<Integer, String, Boolean>[] empty = (MutableTriple<Integer, String, Boolean>[]) MutableTriple.EMPTY_ARRAY; - assertEquals(0, empty.length); - } - - @Test - public void testEmptyArrayGenerics() { - final MutableTriple<Integer, String, Boolean>[] empty = MutableTriple.emptyArray(); - assertEquals(0, empty.length); - } - - @Test public void testBasic() { final MutableTriple<Integer, String, Boolean> triple = new MutableTriple<>(0, "foo", Boolean.FALSE); assertEquals(0, triple.getLeft().intValue()); @@ -62,6 +49,19 @@ public class MutableTripleTest { } @Test + public void testEmptyArrayGenerics() { + final MutableTriple<Integer, String, Boolean>[] empty = MutableTriple.emptyArray(); + assertEquals(0, empty.length); + } + + @Test + public void testEmptyArrayLength() { + @SuppressWarnings("unchecked") + final MutableTriple<Integer, String, Boolean>[] empty = (MutableTriple<Integer, String, Boolean>[]) MutableTriple.EMPTY_ARRAY; + assertEquals(0, empty.length); + } + + @Test public void testEquals() { assertEquals(MutableTriple.of(null, "foo", "baz"), MutableTriple.of(null, "foo", "baz")); assertNotEquals(MutableTriple.of("foo", 0, Boolean.TRUE), MutableTriple.of("foo", null, Boolean.TRUE)); diff --git a/src/test/java/org/apache/commons/lang3/tuple/PairTest.java b/src/test/java/org/apache/commons/lang3/tuple/PairTest.java index 2ad4f50..80bae12 100644 --- a/src/test/java/org/apache/commons/lang3/tuple/PairTest.java +++ b/src/test/java/org/apache/commons/lang3/tuple/PairTest.java @@ -34,19 +34,6 @@ import org.junit.jupiter.api.Test; public class PairTest { @Test - public void testEmptyArrayLength() { - @SuppressWarnings("unchecked") - final Pair<Integer, String>[] empty = (Pair<Integer, String>[]) Pair.EMPTY_ARRAY; - assertEquals(0, empty.length); - } - - @Test - public void testEmptyArrayGenerics() { - final Pair<Integer, String>[] empty = Pair.emptyArray(); - assertEquals(0, empty.length); - } - - @Test public void testComparable1() { final Pair<String, String> pair1 = Pair.of("A", "D"); final Pair<String, String> pair2 = Pair.of("B", "C"); @@ -82,6 +69,19 @@ public class PairTest { } @Test + public void testEmptyArrayGenerics() { + final Pair<Integer, String>[] empty = Pair.emptyArray(); + assertEquals(0, empty.length); + } + + @Test + public void testEmptyArrayLength() { + @SuppressWarnings("unchecked") + final Pair<Integer, String>[] empty = (Pair<Integer, String>[]) Pair.EMPTY_ARRAY; + assertEquals(0, empty.length); + } + + @Test public void testFormattable_padded() { final Pair<String, String> pair = Pair.of("Key", "Value"); assertEquals(" (Key,Value)", String.format("%1$20s", pair)); diff --git a/src/test/java/org/apache/commons/lang3/tuple/TripleTest.java b/src/test/java/org/apache/commons/lang3/tuple/TripleTest.java index d2baeaa..dbf06f3 100644 --- a/src/test/java/org/apache/commons/lang3/tuple/TripleTest.java +++ b/src/test/java/org/apache/commons/lang3/tuple/TripleTest.java @@ -31,19 +31,6 @@ import org.junit.jupiter.api.Test; public class TripleTest { @Test - public void testEmptyArrayLength() { - @SuppressWarnings("unchecked") - final Triple<Integer, String, Boolean>[] empty = (Triple<Integer, String, Boolean>[]) Triple.EMPTY_ARRAY; - assertEquals(0, empty.length); - } - - @Test - public void testEmptyArrayGenerics() { - final Triple<Integer, String, Boolean>[] empty = Triple.emptyArray(); - assertEquals(0, empty.length); - } - - @Test public void testComparable1() { final Triple<String, String, String> triple1 = Triple.of("A", "D", "A"); final Triple<String, String, String> triple2 = Triple.of("B", "C", "A"); @@ -95,6 +82,19 @@ public class TripleTest { } @Test + public void testEmptyArrayGenerics() { + final Triple<Integer, String, Boolean>[] empty = Triple.emptyArray(); + assertEquals(0, empty.length); + } + + @Test + public void testEmptyArrayLength() { + @SuppressWarnings("unchecked") + final Triple<Integer, String, Boolean>[] empty = (Triple<Integer, String, Boolean>[]) Triple.EMPTY_ARRAY; + assertEquals(0, empty.length); + } + + @Test public void testFormattable_padded() { final Triple<String, String, String> triple = Triple.of("Key", "Something", "Value"); assertEquals(" (Key,Something,Value)", String.format("%1$30s", triple));