aboutsummaryrefslogtreecommitdiffstats
path: root/guava-tests/test/com/google/common/primitives/UnsignedLongTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava-tests/test/com/google/common/primitives/UnsignedLongTest.java')
-rw-r--r--guava-tests/test/com/google/common/primitives/UnsignedLongTest.java127
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);
}
}