@GwtIncompatible // Chars.fromByteArray public void testFromByteArray() { assertEquals('\u2345', Chars.fromByteArray(new byte[] {0x23, 0x45, (byte) 0xDC})); assertEquals('\uFEDC', Chars.fromByteArray(new byte[] {(byte) 0xFE, (byte) 0xDC})); }
@GwtIncompatible // Chars.fromByteArray public void testFromByteArrayFails() { try { Chars.fromByteArray(new byte[Chars.BYTES - 1]); fail(); } catch (IllegalArgumentException expected) { } }
@GwtIncompatible // Chars.fromByteArray, Chars.toByteArray public void testByteArrayRoundTripsFails() { try { Chars.fromByteArray(new byte[] {0x11}); fail(); } catch (IllegalArgumentException expected) { } }
@GwtIncompatible // Chars.fromByteArray, Chars.toByteArray public void testByteArrayRoundTrips() { char c = 0; for (int hi = 0; hi < 256; hi++) { for (int lo = 0; lo < 256; lo++) { char result = Chars.fromByteArray(new byte[] {(byte) hi, (byte) lo}); assertEquals( String.format( Locale.ROOT, "hi=%s, lo=%s, expected=%s, result=%s", hi, lo, (int) c, (int) result), c, result); byte[] bytes = Chars.toByteArray(c); assertEquals((byte) hi, bytes[0]); assertEquals((byte) lo, bytes[1]); c++; } } assertEquals((char) 0, c); // sanity check }
@Override public char getChar(final int index) { final byte[] byteArray = getByteArray(index, 2); return Chars.fromByteArray(byteArray); }
@Override public final char getChar() { byte[] value = new byte[2]; get(value, 0, value.length); return Chars.fromByteArray(value); }
@GwtIncompatible // Chars.fromByteArray public void testFromByteArray() { assertEquals('\u2345', Chars.fromByteArray( new byte[] {0x23, 0x45, (byte) 0xDC})); assertEquals('\uFEDC', Chars.fromByteArray( new byte[] {(byte) 0xFE, (byte) 0xDC})); }
@GwtIncompatible // Chars.fromByteArray public void testFromByteArrayFails() { try { Chars.fromByteArray(new byte[Chars.BYTES - 1]); fail(); } catch (IllegalArgumentException expected) { } }
@GwtIncompatible // Chars.fromByteArray, Chars.toByteArray public void testByteArrayRoundTripsFails() { try { Chars.fromByteArray(new byte[] {0x11}); fail(); } catch (IllegalArgumentException expected) { } }
@GwtIncompatible // Chars.fromByteArray, Chars.toByteArray public void testByteArrayRoundTrips() { char c = 0; for (int hi = 0; hi < 256; hi++) { for (int lo = 0; lo < 256; lo++) { char result = Chars.fromByteArray(new byte[]{(byte) hi, (byte) lo}); assertEquals(String.format(Locale.ROOT, "hi=%s, lo=%s, expected=%s, result=%s", hi, lo, (int) c, (int) result), c, result); byte[] bytes = Chars.toByteArray(c); assertEquals((byte) hi, bytes[0]); assertEquals((byte) lo, bytes[1]); c++; } } assertEquals((char) 0, c); // sanity check }