aboutsummaryrefslogtreecommitdiffstats
path: root/guava-tests/test/com/google/common/primitives/UnsignedIntegerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava-tests/test/com/google/common/primitives/UnsignedIntegerTest.java')
-rw-r--r--guava-tests/test/com/google/common/primitives/UnsignedIntegerTest.java144
1 files changed, 52 insertions, 92 deletions
diff --git a/guava-tests/test/com/google/common/primitives/UnsignedIntegerTest.java b/guava-tests/test/com/google/common/primitives/UnsignedIntegerTest.java
index 6297261..fece9c9 100644
--- a/guava-tests/test/com/google/common/primitives/UnsignedIntegerTest.java
+++ b/guava-tests/test/com/google/common/primitives/UnsignedIntegerTest.java
@@ -1,11 +1,11 @@
/*
* Copyright (C) 2011 The Guava Authors
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing permissions and
@@ -14,6 +14,8 @@
package com.google.common.primitives;
+import junit.framework.TestCase;
+
import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.common.collect.ImmutableSet;
@@ -21,90 +23,47 @@ 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 UnsignedInteger}.
- *
+ *
* @author Louis Wasserman
*/
@GwtCompatible(emulated = true)
public class UnsignedIntegerTest extends TestCase {
private static final ImmutableSet<Integer> TEST_INTS;
- private static final ImmutableSet<Long> TEST_LONGS;
private static int force32(int value) {
- // GWT doesn't consistently overflow values to make them 32-bit, so we need to force it.
+ // GWT doesn't overflow values to make them 32-bit, so we need to force it.
return value & 0xffffffff;
}
static {
ImmutableSet.Builder<Integer> testIntsBuilder = ImmutableSet.builder();
- ImmutableSet.Builder<Long> testLongsBuilder = ImmutableSet.builder();
for (int i = -3; i <= 3; i++) {
- testIntsBuilder
- .add(i)
- .add(force32(Integer.MIN_VALUE + i))
- .add(force32(Integer.MAX_VALUE + i));
- testLongsBuilder
- .add((long) i)
- .add((long) Integer.MIN_VALUE + i)
- .add((long) Integer.MAX_VALUE + i)
- .add((1L << 32) + i);
+ testIntsBuilder.add(i).add(-i).add(force32(Integer.MIN_VALUE + i))
+ .add(force32(Integer.MAX_VALUE + i));
}
TEST_INTS = testIntsBuilder.build();
- TEST_LONGS = testLongsBuilder.build();
}
- public void testFromIntBitsAndIntValueAreInverses() {
+ public void testAsUnsignedAndIntValueAreInverses() {
for (int value : TEST_INTS) {
- assertEquals(UnsignedInts.toString(value), value, UnsignedInteger.fromIntBits(value)
+ assertEquals(UnsignedInts.toString(value), value, UnsignedInteger.asUnsigned(value)
.intValue());
}
}
- public void testFromIntBitsLongValue() {
+ public void testAsUnsignedLongValue() {
for (int value : TEST_INTS) {
long expected = value & 0xffffffffL;
- assertEquals(UnsignedInts.toString(value), expected, UnsignedInteger.fromIntBits(value)
+ assertEquals(UnsignedInts.toString(value), expected, UnsignedInteger.asUnsigned(value)
.longValue());
}
}
-
- public void testValueOfLong() {
- long min = 0;
- long max = (1L << 32) - 1;
- for (long value : TEST_LONGS) {
- boolean expectSuccess = value >= min && value <= max;
- try {
- assertEquals(value, UnsignedInteger.valueOf(value).longValue());
- assertTrue(expectSuccess);
- } catch (IllegalArgumentException e) {
- assertFalse(expectSuccess);
- }
- }
- }
-
- public void testValueOfBigInteger() {
- long min = 0;
- long max = (1L << 32) - 1;
- for (long value : TEST_LONGS) {
- boolean expectSuccess = value >= min && value <= max;
- try {
- assertEquals(value, UnsignedInteger.valueOf(BigInteger.valueOf(value))
- .longValue());
- assertTrue(expectSuccess);
- } catch (IllegalArgumentException e) {
- assertFalse(expectSuccess);
- }
- }
- }
public void testToString() {
for (int value : TEST_INTS) {
- UnsignedInteger unsignedValue = UnsignedInteger.fromIntBits(value);
+ UnsignedInteger unsignedValue = UnsignedInteger.asUnsigned(value);
assertEquals(unsignedValue.bigIntegerValue().toString(), unsignedValue.toString());
}
}
@@ -113,7 +72,7 @@ public class UnsignedIntegerTest extends TestCase {
public void testToStringRadix() {
for (int radix = Character.MIN_RADIX; radix <= Character.MAX_RADIX; radix++) {
for (int l : TEST_INTS) {
- UnsignedInteger value = UnsignedInteger.fromIntBits(l);
+ UnsignedInteger value = UnsignedInteger.asUnsigned(l);
assertEquals(value.bigIntegerValue().toString(radix), value.toString(radix));
}
}
@@ -123,7 +82,7 @@ public class UnsignedIntegerTest extends TestCase {
int[] radices = {2, 3, 5, 7, 10, 12, 16, 21, 31, 36};
for (int radix : radices) {
for (int l : TEST_INTS) {
- UnsignedInteger value = UnsignedInteger.fromIntBits(l);
+ UnsignedInteger value = UnsignedInteger.asUnsigned(l);
assertEquals(value.bigIntegerValue().toString(radix), value.toString(radix));
}
}
@@ -131,66 +90,66 @@ public class UnsignedIntegerTest extends TestCase {
public void testFloatValue() {
for (int value : TEST_INTS) {
- UnsignedInteger unsignedValue = UnsignedInteger.fromIntBits(value);
+ UnsignedInteger unsignedValue = UnsignedInteger.asUnsigned(value);
assertEquals(unsignedValue.bigIntegerValue().floatValue(), unsignedValue.floatValue());
}
}
public void testDoubleValue() {
for (int value : TEST_INTS) {
- UnsignedInteger unsignedValue = UnsignedInteger.fromIntBits(value);
+ UnsignedInteger unsignedValue = UnsignedInteger.asUnsigned(value);
assertEquals(unsignedValue.bigIntegerValue().doubleValue(), unsignedValue.doubleValue());
}
}
- public void testPlus() {
+ public void testAdd() {
for (int a : TEST_INTS) {
for (int b : TEST_INTS) {
- UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a);
- UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b);
+ UnsignedInteger aUnsigned = UnsignedInteger.asUnsigned(a);
+ UnsignedInteger bUnsigned = UnsignedInteger.asUnsigned(b);
int expected = aUnsigned.bigIntegerValue().add(bUnsigned.bigIntegerValue()).intValue();
- UnsignedInteger unsignedSum = aUnsigned.plus(bUnsigned);
+ UnsignedInteger unsignedSum = aUnsigned.add(bUnsigned);
assertEquals(expected, unsignedSum.intValue());
}
}
}
- public void testMinus() {
+ public void testSubtract() {
for (int a : TEST_INTS) {
for (int b : TEST_INTS) {
- UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a);
- UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b);
+ UnsignedInteger aUnsigned = UnsignedInteger.asUnsigned(a);
+ UnsignedInteger bUnsigned = UnsignedInteger.asUnsigned(b);
int expected =
force32(aUnsigned.bigIntegerValue().subtract(bUnsigned.bigIntegerValue()).intValue());
- UnsignedInteger unsignedSub = aUnsigned.minus(bUnsigned);
+ UnsignedInteger unsignedSub = aUnsigned.subtract(bUnsigned);
assertEquals(expected, unsignedSub.intValue());
}
}
}
@GwtIncompatible("multiply")
- public void testTimes() {
+ public void testMultiply() {
for (int a : TEST_INTS) {
for (int b : TEST_INTS) {
- UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a);
- UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b);
+ UnsignedInteger aUnsigned = UnsignedInteger.asUnsigned(a);
+ UnsignedInteger bUnsigned = UnsignedInteger.asUnsigned(b);
int expected =
force32(aUnsigned.bigIntegerValue().multiply(bUnsigned.bigIntegerValue()).intValue());
- UnsignedInteger unsignedMul = aUnsigned.times(bUnsigned);
+ UnsignedInteger unsignedMul = aUnsigned.multiply(bUnsigned);
assertEquals(aUnsigned + " * " + bUnsigned, expected, unsignedMul.intValue());
}
}
}
- public void testDividedBy() {
+ public void testDivide() {
for (int a : TEST_INTS) {
for (int b : TEST_INTS) {
if (b != 0) {
- UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a);
- UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b);
+ UnsignedInteger aUnsigned = UnsignedInteger.asUnsigned(a);
+ UnsignedInteger bUnsigned = UnsignedInteger.asUnsigned(b);
int expected =
aUnsigned.bigIntegerValue().divide(bUnsigned.bigIntegerValue()).intValue();
- UnsignedInteger unsignedDiv = aUnsigned.dividedBy(bUnsigned);
+ UnsignedInteger unsignedDiv = aUnsigned.divide(bUnsigned);
assertEquals(expected, unsignedDiv.intValue());
}
}
@@ -200,32 +159,31 @@ public class UnsignedIntegerTest extends TestCase {
public void testDivideByZeroThrows() {
for (int a : TEST_INTS) {
try {
- UnsignedInteger.fromIntBits(a).divide(UnsignedInteger.ZERO);
+ UnsignedInteger.asUnsigned(a).divide(UnsignedInteger.ZERO);
fail("Expected ArithmeticException");
} catch (ArithmeticException expected) {}
}
}
- public void testMod() {
+ public void testRemainder() {
for (int a : TEST_INTS) {
for (int b : TEST_INTS) {
if (b != 0) {
- UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a);
- UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b);
+ UnsignedInteger aUnsigned = UnsignedInteger.asUnsigned(a);
+ UnsignedInteger bUnsigned = UnsignedInteger.asUnsigned(b);
int expected =
- aUnsigned.bigIntegerValue().mod(bUnsigned.bigIntegerValue()).intValue();
- UnsignedInteger unsignedRem = aUnsigned.mod(bUnsigned);
+ aUnsigned.bigIntegerValue().remainder(bUnsigned.bigIntegerValue()).intValue();
+ UnsignedInteger unsignedRem = aUnsigned.remainder(bUnsigned);
assertEquals(expected, unsignedRem.intValue());
}
}
}
}
- @SuppressWarnings("ReturnValueIgnored")
- public void testModByZero() {
+ public void testRemainderByZero() {
for (int a : TEST_INTS) {
try {
- UnsignedInteger.fromIntBits(a).mod(UnsignedInteger.ZERO);
+ UnsignedInteger.asUnsigned(a).remainder(UnsignedInteger.ZERO);
fail("Expected ArithmeticException");
} catch (ArithmeticException expected) {}
}
@@ -234,8 +192,8 @@ public class UnsignedIntegerTest extends TestCase {
public void testCompare() {
for (int a : TEST_INTS) {
for (int b : TEST_INTS) {
- UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a);
- UnsignedInteger bUnsigned = UnsignedInteger.fromIntBits(b);
+ UnsignedInteger aUnsigned = UnsignedInteger.asUnsigned(a);
+ UnsignedInteger bUnsigned = UnsignedInteger.asUnsigned(b);
assertEquals(aUnsigned.bigIntegerValue().compareTo(bUnsigned.bigIntegerValue()),
aUnsigned.compareTo(bUnsigned));
}
@@ -243,11 +201,11 @@ public class UnsignedIntegerTest extends TestCase {
}
@GwtIncompatible("too slow")
- public void testEquals() {
+ public void testEqualsAndValueOf() {
EqualsTester equalsTester = new EqualsTester();
for (int a : TEST_INTS) {
long value = a & 0xffffffffL;
- equalsTester.addEqualityGroup(UnsignedInteger.fromIntBits(a), UnsignedInteger.valueOf(value),
+ equalsTester.addEqualityGroup(UnsignedInteger.asUnsigned(a), UnsignedInteger.valueOf(value),
UnsignedInteger.valueOf(Long.toString(value)),
UnsignedInteger.valueOf(Long.toString(value, 16), 16));
}
@@ -256,7 +214,7 @@ public class UnsignedIntegerTest extends TestCase {
public void testIntValue() {
for (int a : TEST_INTS) {
- UnsignedInteger aUnsigned = UnsignedInteger.fromIntBits(a);
+ UnsignedInteger aUnsigned = UnsignedInteger.asUnsigned(a);
int intValue = aUnsigned.bigIntegerValue().intValue();
assertEquals(intValue, aUnsigned.intValue());
}
@@ -265,12 +223,14 @@ public class UnsignedIntegerTest extends TestCase {
@GwtIncompatible("serialization")
public void testSerialization() {
for (int a : TEST_INTS) {
- SerializableTester.reserializeAndAssert(UnsignedInteger.fromIntBits(a));
+ SerializableTester.reserializeAndAssert(UnsignedInteger.asUnsigned(a));
}
}
@GwtIncompatible("NullPointerTester")
- public void testNulls() {
- new NullPointerTester().testAllPublicStaticMethods(UnsignedInteger.class);
+ public void testNulls() throws Exception {
+ NullPointerTester tester = new NullPointerTester();
+ tester.setDefault(UnsignedInteger.class, UnsignedInteger.ONE);
+ tester.testAllPublicStaticMethods(UnsignedInteger.class);
}
}