diff options
Diffstat (limited to 'guava-tests/test/com/google/common/primitives/UnsignedLongTest.java')
-rw-r--r-- | guava-tests/test/com/google/common/primitives/UnsignedLongTest.java | 127 |
1 files changed, 44 insertions, 83 deletions
diff --git a/guava-tests/test/com/google/common/primitives/UnsignedLongTest.java b/guava-tests/test/com/google/common/primitives/UnsignedLongTest.java index 1df86cb..81f1644 100644 --- a/guava-tests/test/com/google/common/primitives/UnsignedLongTest.java +++ b/guava-tests/test/com/google/common/primitives/UnsignedLongTest.java @@ -14,6 +14,10 @@ package com.google.common.primitives; +import java.math.BigInteger; + +import junit.framework.TestCase; + import com.google.common.annotations.GwtCompatible; import com.google.common.annotations.GwtIncompatible; import com.google.common.collect.ImmutableSet; @@ -21,10 +25,6 @@ import com.google.common.testing.EqualsTester; import com.google.common.testing.NullPointerTester; import com.google.common.testing.SerializableTester; -import junit.framework.TestCase; - -import java.math.BigInteger; - /** * Tests for {@code UnsignedLong}. * @@ -33,11 +33,9 @@ import java.math.BigInteger; @GwtCompatible(emulated = true) public class UnsignedLongTest extends TestCase { private static final ImmutableSet<Long> TEST_LONGS; - private static final ImmutableSet<BigInteger> TEST_BIG_INTEGERS; static { ImmutableSet.Builder<Long> testLongsBuilder = ImmutableSet.builder(); - ImmutableSet.Builder<BigInteger> testBigIntegersBuilder = ImmutableSet.builder(); for (long i = -3; i <= 3; i++) { testLongsBuilder .add(i) @@ -45,24 +43,14 @@ public class UnsignedLongTest extends TestCase { .add(Long.MIN_VALUE + i) .add(Integer.MIN_VALUE + i) .add(Integer.MAX_VALUE + i); - BigInteger bigI = BigInteger.valueOf(i); - testBigIntegersBuilder - .add(bigI) - .add(BigInteger.valueOf(Long.MAX_VALUE).add(bigI)) - .add(BigInteger.valueOf(Long.MIN_VALUE).add(bigI)) - .add(BigInteger.valueOf(Integer.MAX_VALUE).add(bigI)) - .add(BigInteger.valueOf(Integer.MIN_VALUE).add(bigI)) - .add(BigInteger.ONE.shiftLeft(63).add(bigI)) - .add(BigInteger.ONE.shiftLeft(64).add(bigI)); } TEST_LONGS = testLongsBuilder.build(); - TEST_BIG_INTEGERS = testBigIntegersBuilder.build(); } public void testAsUnsignedAndLongValueAreInverses() { for (long value : TEST_LONGS) { assertEquals( - UnsignedLongs.toString(value), value, UnsignedLong.fromLongBits(value).longValue()); + UnsignedLongs.toString(value), value, UnsignedLong.asUnsigned(value).longValue()); } } @@ -72,40 +60,13 @@ public class UnsignedLongTest extends TestCase { ? BigInteger.valueOf(value) : BigInteger.valueOf(value).add(BigInteger.ZERO.setBit(64)); assertEquals(UnsignedLongs.toString(value), expected, - UnsignedLong.fromLongBits(value).bigIntegerValue()); - } - } - - public void testValueOfLong() { - for (long value : TEST_LONGS) { - boolean expectSuccess = value >= 0; - try { - assertEquals(value, UnsignedLong.valueOf(value).longValue()); - assertTrue(expectSuccess); - } catch (IllegalArgumentException e) { - assertFalse(expectSuccess); - } - } - } - - public void testValueOfBigInteger() { - BigInteger min = BigInteger.ZERO; - BigInteger max = UnsignedLong.MAX_VALUE.bigIntegerValue(); - for (BigInteger big : TEST_BIG_INTEGERS) { - boolean expectSuccess = - big.compareTo(min) >= 0 && big.compareTo(max) <= 0; - try { - assertEquals(big, UnsignedLong.valueOf(big).bigIntegerValue()); - assertTrue(expectSuccess); - } catch (IllegalArgumentException e) { - assertFalse(expectSuccess); - } + UnsignedLong.asUnsigned(value).bigIntegerValue()); } } public void testToString() { for (long value : TEST_LONGS) { - UnsignedLong unsignedValue = UnsignedLong.fromLongBits(value); + UnsignedLong unsignedValue = UnsignedLong.asUnsigned(value); assertEquals(unsignedValue.bigIntegerValue().toString(), unsignedValue.toString()); } } @@ -114,7 +75,7 @@ public class UnsignedLongTest extends TestCase { public void testToStringRadix() { for (int radix = Character.MIN_RADIX; radix <= Character.MAX_RADIX; radix++) { for (long l : TEST_LONGS) { - UnsignedLong value = UnsignedLong.fromLongBits(l); + UnsignedLong value = UnsignedLong.asUnsigned(l); assertEquals(value.bigIntegerValue().toString(radix), value.toString(radix)); } } @@ -124,7 +85,7 @@ public class UnsignedLongTest extends TestCase { int[] radices = {2, 3, 5, 7, 10, 12, 16, 21, 31, 36}; for (int radix : radices) { for (long l : TEST_LONGS) { - UnsignedLong value = UnsignedLong.fromLongBits(l); + UnsignedLong value = UnsignedLong.asUnsigned(l); assertEquals(value.bigIntegerValue().toString(radix), value.toString(radix)); } } @@ -132,112 +93,110 @@ public class UnsignedLongTest extends TestCase { public void testFloatValue() { for (long value : TEST_LONGS) { - UnsignedLong unsignedValue = UnsignedLong.fromLongBits(value); + UnsignedLong unsignedValue = UnsignedLong.asUnsigned(value); assertEquals(unsignedValue.bigIntegerValue().floatValue(), unsignedValue.floatValue()); } } public void testDoubleValue() { for (long value : TEST_LONGS) { - UnsignedLong unsignedValue = UnsignedLong.fromLongBits(value); + UnsignedLong unsignedValue = UnsignedLong.asUnsigned(value); assertEquals(unsignedValue.bigIntegerValue().doubleValue(), unsignedValue.doubleValue()); } } - public void testPlus() { + public void testAdd() { for (long a : TEST_LONGS) { for (long b : TEST_LONGS) { - UnsignedLong aUnsigned = UnsignedLong.fromLongBits(a); - UnsignedLong bUnsigned = UnsignedLong.fromLongBits(b); + UnsignedLong aUnsigned = UnsignedLong.asUnsigned(a); + UnsignedLong bUnsigned = UnsignedLong.asUnsigned(b); long expected = aUnsigned .bigIntegerValue() .add(bUnsigned.bigIntegerValue()) .longValue(); - UnsignedLong unsignedSum = aUnsigned.plus(bUnsigned); + UnsignedLong unsignedSum = aUnsigned.add(bUnsigned); assertEquals(expected, unsignedSum.longValue()); } } } - public void testMinus() { + public void testSubtract() { for (long a : TEST_LONGS) { for (long b : TEST_LONGS) { - UnsignedLong aUnsigned = UnsignedLong.fromLongBits(a); - UnsignedLong bUnsigned = UnsignedLong.fromLongBits(b); + UnsignedLong aUnsigned = UnsignedLong.asUnsigned(a); + UnsignedLong bUnsigned = UnsignedLong.asUnsigned(b); long expected = aUnsigned .bigIntegerValue() .subtract(bUnsigned.bigIntegerValue()) .longValue(); - UnsignedLong unsignedSub = aUnsigned.minus(bUnsigned); + UnsignedLong unsignedSub = aUnsigned.subtract(bUnsigned); assertEquals(expected, unsignedSub.longValue()); } } } - public void testTimes() { + public void testMultiply() { for (long a : TEST_LONGS) { for (long b : TEST_LONGS) { - UnsignedLong aUnsigned = UnsignedLong.fromLongBits(a); - UnsignedLong bUnsigned = UnsignedLong.fromLongBits(b); + UnsignedLong aUnsigned = UnsignedLong.asUnsigned(a); + UnsignedLong bUnsigned = UnsignedLong.asUnsigned(b); long expected = aUnsigned .bigIntegerValue() .multiply(bUnsigned.bigIntegerValue()) .longValue(); - UnsignedLong unsignedMul = aUnsigned.times(bUnsigned); + UnsignedLong unsignedMul = aUnsigned.multiply(bUnsigned); assertEquals(expected, unsignedMul.longValue()); } } } - public void testDividedBy() { + public void testDivide() { for (long a : TEST_LONGS) { for (long b : TEST_LONGS) { if (b != 0) { - UnsignedLong aUnsigned = UnsignedLong.fromLongBits(a); - UnsignedLong bUnsigned = UnsignedLong.fromLongBits(b); + UnsignedLong aUnsigned = UnsignedLong.asUnsigned(a); + UnsignedLong bUnsigned = UnsignedLong.asUnsigned(b); long expected = aUnsigned .bigIntegerValue() .divide(bUnsigned.bigIntegerValue()) .longValue(); - UnsignedLong unsignedDiv = aUnsigned.dividedBy(bUnsigned); + UnsignedLong unsignedDiv = aUnsigned.divide(bUnsigned); assertEquals(expected, unsignedDiv.longValue()); } } } } - @SuppressWarnings("ReturnValueIgnored") public void testDivideByZeroThrows() { for (long a : TEST_LONGS) { try { - UnsignedLong.fromLongBits(a).dividedBy(UnsignedLong.ZERO); + UnsignedLong.asUnsigned(a).divide(UnsignedLong.ZERO); fail("Expected ArithmeticException"); } catch (ArithmeticException expected) {} } } - public void testMod() { + public void testRemainder() { for (long a : TEST_LONGS) { for (long b : TEST_LONGS) { if (b != 0) { - UnsignedLong aUnsigned = UnsignedLong.fromLongBits(a); - UnsignedLong bUnsigned = UnsignedLong.fromLongBits(b); + UnsignedLong aUnsigned = UnsignedLong.asUnsigned(a); + UnsignedLong bUnsigned = UnsignedLong.asUnsigned(b); long expected = aUnsigned .bigIntegerValue() .remainder(bUnsigned.bigIntegerValue()) .longValue(); - UnsignedLong unsignedRem = aUnsigned.mod(bUnsigned); + UnsignedLong unsignedRem = aUnsigned.remainder(bUnsigned); assertEquals(expected, unsignedRem.longValue()); } } } } - @SuppressWarnings("ReturnValueIgnored") - public void testModByZero() { + public void testRemainderByZero() { for (long a : TEST_LONGS) { try { - UnsignedLong.fromLongBits(a).mod(UnsignedLong.ZERO); + UnsignedLong.asUnsigned(a).remainder(UnsignedLong.ZERO); fail("Expected ArithmeticException"); } catch (ArithmeticException expected) {} } @@ -246,8 +205,8 @@ public class UnsignedLongTest extends TestCase { public void testCompare() { for (long a : TEST_LONGS) { for (long b : TEST_LONGS) { - UnsignedLong aUnsigned = UnsignedLong.fromLongBits(a); - UnsignedLong bUnsigned = UnsignedLong.fromLongBits(b); + UnsignedLong aUnsigned = UnsignedLong.asUnsigned(a); + UnsignedLong bUnsigned = UnsignedLong.asUnsigned(b); assertEquals(aUnsigned.bigIntegerValue().compareTo(bUnsigned.bigIntegerValue()), aUnsigned.compareTo(bUnsigned)); } @@ -255,12 +214,12 @@ public class UnsignedLongTest extends TestCase { } @GwtIncompatible("too slow") - public void testEquals() { + public void testEqualsAndValueOf() { EqualsTester equalsTester = new EqualsTester(); for (long a : TEST_LONGS) { BigInteger big = (a >= 0) ? BigInteger.valueOf(a) : BigInteger.valueOf(a).add(BigInteger.ZERO.setBit(64)); - equalsTester.addEqualityGroup(UnsignedLong.fromLongBits(a), UnsignedLong.valueOf(big), + equalsTester.addEqualityGroup(UnsignedLong.asUnsigned(a), UnsignedLong.valueOf(big), UnsignedLong.valueOf(big.toString()), UnsignedLong.valueOf(big.toString(16), 16)); } equalsTester.testEquals(); @@ -268,7 +227,7 @@ public class UnsignedLongTest extends TestCase { public void testIntValue() { for (long a : TEST_LONGS) { - UnsignedLong aUnsigned = UnsignedLong.fromLongBits(a); + UnsignedLong aUnsigned = UnsignedLong.asUnsigned(a); int intValue = aUnsigned.bigIntegerValue().intValue(); assertEquals(intValue, aUnsigned.intValue()); } @@ -277,12 +236,14 @@ public class UnsignedLongTest extends TestCase { @GwtIncompatible("serialization") public void testSerialization() { for (long a : TEST_LONGS) { - SerializableTester.reserializeAndAssert(UnsignedLong.fromLongBits(a)); + SerializableTester.reserializeAndAssert(UnsignedLong.asUnsigned(a)); } } @GwtIncompatible("NullPointerTester") - public void testNulls() { - new NullPointerTester().testAllPublicStaticMethods(UnsignedLong.class); + public void testNulls() throws Exception { + NullPointerTester tester = new NullPointerTester(); + tester.setDefault(UnsignedLong.class, UnsignedLong.ONE); + tester.testAllPublicStaticMethods(UnsignedLong.class); } } |