public void testSaturatedCast() { for (int value : VALUES) { assertEquals(value, Ints.saturatedCast((long) value)); } assertEquals(GREATEST, Ints.saturatedCast(GREATEST + 1L)); assertEquals(LEAST, Ints.saturatedCast(LEAST - 1L)); assertEquals(GREATEST, Ints.saturatedCast(Long.MAX_VALUE)); assertEquals(LEAST, Ints.saturatedCast(Long.MIN_VALUE)); }
public void testFromByteArray() { assertEquals(0x12131415, Ints.fromByteArray(new byte[] {0x12, 0x13, 0x14, 0x15, 0x33})); assertEquals( 0xFFEEDDCC, Ints.fromByteArray(new byte[] {(byte) 0xFF, (byte) 0xEE, (byte) 0xDD, (byte) 0xCC})); }
public void testFromBytes() { assertEquals(0x12131415, Ints.fromBytes((byte) 0x12, (byte) 0x13, (byte) 0x14, (byte) 0x15)); assertEquals(0xFFEEDDCC, Ints.fromBytes((byte) 0xFF, (byte) 0xEE, (byte) 0xDD, (byte) 0xCC)); }
public void testCompare() { for (int x : VALUES) { for (int y : VALUES) { // note: spec requires only that the sign is the same assertEquals(x + ", " + y, Integer.valueOf(x).compareTo(y), Ints.compare(x, y)); } } }
public void testLastIndexOf() { assertEquals(-1, Ints.lastIndexOf(EMPTY, (int) 1)); assertEquals(-1, Ints.lastIndexOf(ARRAY1, (int) 2)); assertEquals(-1, Ints.lastIndexOf(ARRAY234, (int) 1)); assertEquals(0, Ints.lastIndexOf(new int[] {(int) -1}, (int) -1)); assertEquals(0, Ints.lastIndexOf(ARRAY234, (int) 2)); assertEquals(1, Ints.lastIndexOf(ARRAY234, (int) 3)); assertEquals(2, Ints.lastIndexOf(ARRAY234, (int) 4)); assertEquals(3, Ints.lastIndexOf(new int[] {(int) 2, (int) 3, (int) 2, (int) 3}, (int) 3)); }
public void testJoin() { assertEquals("", Ints.join(",", EMPTY)); assertEquals("1", Ints.join(",", ARRAY1)); assertEquals("1,2", Ints.join(",", (int) 1, (int) 2)); assertEquals("123", Ints.join("", (int) 1, (int) 2, (int) 3)); }
public void testHashCode() { for (int value : VALUES) { assertEquals(((Integer) value).hashCode(), Ints.hashCode(value)); } }
public void testMax() { assertEquals(LEAST, Ints.max(LEAST)); assertEquals(GREATEST, Ints.max(GREATEST)); assertEquals((int) 9, Ints.max((int) 8, (int) 6, (int) 7, (int) 5, (int) 3, (int) 0, (int) 9)); }
public void testMin() { assertEquals(LEAST, Ints.min(LEAST)); assertEquals(GREATEST, Ints.min(GREATEST)); assertEquals((int) 0, Ints.min((int) 8, (int) 6, (int) 7, (int) 5, (int) 3, (int) 0, (int) 9)); }
public void testIndexOf() { assertEquals(-1, Ints.indexOf(EMPTY, (int) 1)); assertEquals(-1, Ints.indexOf(ARRAY1, (int) 2)); assertEquals(-1, Ints.indexOf(ARRAY234, (int) 1)); assertEquals(0, Ints.indexOf(new int[] {(int) -1}, (int) -1)); assertEquals(0, Ints.indexOf(ARRAY234, (int) 2)); assertEquals(1, Ints.indexOf(ARRAY234, (int) 3)); assertEquals(2, Ints.indexOf(ARRAY234, (int) 4)); assertEquals(1, Ints.indexOf(new int[] {(int) 2, (int) 3, (int) 2, (int) 3}, (int) 3)); }
/** * Applies {@link Ints#tryParse(String)} to the given string and asserts that the result is as * expected. */ private static void tryParseAndAssertEquals(Integer expected, String value) { assertEquals(expected, Ints.tryParse(value)); }
/** * Encodes the an integer as a string with given radix, then uses {@link Ints#tryParse(String, * int)} to parse the result. Asserts the result is the same as what we started with. */ private static void radixEncodeParseAndAssertEquals(Integer value, int radix) { assertEquals("Radix: " + radix, value, Ints.tryParse(Integer.toString(value, radix), radix)); }
public void testStringConverter_convert() { Converter<String, Integer> converter = Ints.stringConverter(); assertEquals((Integer) 1, converter.convert("1")); assertEquals((Integer) 0, converter.convert("0")); assertEquals((Integer) (-1), converter.convert("-1")); assertEquals((Integer) 255, converter.convert("0xff")); assertEquals((Integer) 255, converter.convert("0xFF")); assertEquals((Integer) (-255), converter.convert("-0xFF")); assertEquals((Integer) 255, converter.convert("#0000FF")); assertEquals((Integer) 438, converter.convert("0666")); }
public void testConstrainToRange() { assertEquals((int) 1, Ints.constrainToRange((int) 1, (int) 0, (int) 5)); assertEquals((int) 1, Ints.constrainToRange((int) 1, (int) 1, (int) 5)); assertEquals((int) 3, Ints.constrainToRange((int) 1, (int) 3, (int) 5)); assertEquals((int) -1, Ints.constrainToRange((int) 0, (int) -5, (int) -1)); assertEquals((int) 2, Ints.constrainToRange((int) 5, (int) 2, (int) 2)); try { Ints.constrainToRange((int) 1, (int) 3, (int) 2); fail(); } catch (IllegalArgumentException expected) { } }
public void testAsList_isAView() { int[] array = {(int) 0, (int) 1}; List<Integer> list = Ints.asList(array); list.set(0, (int) 2); assertTrue(Arrays.equals(new int[] {(int) 2, (int) 1}, array)); array[1] = (int) 3; assertEquals(Arrays.asList((int) 2, (int) 3), list); }
public void testAsList_toArray_roundTrip() { int[] array = {(int) 0, (int) 1, (int) 2}; List<Integer> list = Ints.asList(array); int[] newArray = Ints.toArray(list); // Make sure it returned a copy list.set(0, (int) 4); assertTrue(Arrays.equals(new int[] {(int) 0, (int) 1, (int) 2}, newArray)); newArray[1] = (int) 5; assertEquals((int) 1, (int) list.get(1)); }
public void testStringConverter_reverse() { Converter<String, Integer> converter = Ints.stringConverter(); assertEquals("1", converter.reverse().convert(1)); assertEquals("0", converter.reverse().convert(0)); assertEquals("-1", converter.reverse().convert(-1)); assertEquals("255", converter.reverse().convert(0xff)); assertEquals("255", converter.reverse().convert(0xFF)); assertEquals("-255", converter.reverse().convert(-0xFF)); assertEquals("438", converter.reverse().convert(0666)); }
public void testByteArrayRoundTrips() { Random r = new Random(5); byte[] b = new byte[Ints.BYTES]; // total overkill, but, it takes 0.1 sec so why not... for (int i = 0; i < 10000; i++) { int num = r.nextInt(); assertEquals(num, Ints.fromByteArray(Ints.toByteArray(num))); r.nextBytes(b); assertTrue(Arrays.equals(b, Ints.toByteArray(Ints.fromByteArray(b)))); } }
public void testCheckedCast() { for (int value : VALUES) { assertEquals(value, Ints.checkedCast((long) value)); } assertCastFails(GREATEST + 1L); assertCastFails(LEAST - 1L); assertCastFails(Long.MAX_VALUE); assertCastFails(Long.MIN_VALUE); }
public void testTryParse_radix() { for (int radix = Character.MIN_RADIX; radix <= Character.MAX_RADIX; radix++) { radixEncodeParseAndAssertEquals(0, radix); radixEncodeParseAndAssertEquals(8000, radix); radixEncodeParseAndAssertEquals(-8000, radix); radixEncodeParseAndAssertEquals(GREATEST, radix); radixEncodeParseAndAssertEquals(LEAST, radix); assertNull("Radix: " + radix, Ints.tryParse("9999999999999999", radix)); assertNull( "Radix: " + radix, Ints.tryParse(Long.toString((long) GREATEST + 1, radix), radix)); assertNull("Radix: " + radix, Ints.tryParse(Long.toString((long) LEAST - 1, radix), radix)); } assertNull("Hex string and dec parm", Ints.tryParse("FFFF", 10)); assertEquals("Mixed hex case", 65535, (int) Ints.tryParse("ffFF", 16)); }