@Test (expected = IllegalArgumentException.class) public void testReadBytesExceedsAvailableBytes() { givenABuffer(new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }); reader.readBytes(7); }
public byte[] readBytes(final int count) { int available = byteStream.available(); int bytesToRead = count; if (bytesToRead < 0) { bytesToRead = available; } else if (bytesToRead > available) { throw new IllegalArgumentException( "requested " + count + " bytes exceeds available " + available + " bytes."); } byte[] bytes = new byte[bytesToRead]; if (currentBitIndex >= 0) { for (int i = 0; i < bytesToRead; i++) { bytes[i] = (byte) read(Byte.SIZE); } } else { byteStream.read(bytes, 0, bytes.length); } return bytes; }
DatagramReader { public byte[] readBytes(final int count) { int available = byteStream.available(); int bytesToRead = count; if (bytesToRead < 0) { bytesToRead = available; } else if (bytesToRead > available) { throw new IllegalArgumentException( "requested " + count + " bytes exceeds available " + available + " bytes."); } byte[] bytes = new byte[bytesToRead]; if (currentBitIndex >= 0) { for (int i = 0; i < bytesToRead; i++) { bytes[i] = (byte) read(Byte.SIZE); } } else { byteStream.read(bytes, 0, bytes.length); } return bytes; } }
DatagramReader { public byte[] readBytes(final int count) { int available = byteStream.available(); int bytesToRead = count; if (bytesToRead < 0) { bytesToRead = available; } else if (bytesToRead > available) { throw new IllegalArgumentException( "requested " + count + " bytes exceeds available " + available + " bytes."); } byte[] bytes = new byte[bytesToRead]; if (currentBitIndex >= 0) { for (int i = 0; i < bytesToRead; i++) { bytes[i] = (byte) read(Byte.SIZE); } } else { byteStream.read(bytes, 0, bytes.length); } return bytes; } DatagramReader(final byte[] byteArray);  DatagramReader(final byte[] byteArray, boolean copy);  DatagramReader(final byte[] byteArray, int offset, int length);  DatagramReader(final ByteArrayInputStream byteStream); }
DatagramReader { public byte[] readBytes(final int count) { int available = byteStream.available(); int bytesToRead = count; if (bytesToRead < 0) { bytesToRead = available; } else if (bytesToRead > available) { throw new IllegalArgumentException( "requested " + count + " bytes exceeds available " + available + " bytes."); } byte[] bytes = new byte[bytesToRead]; if (currentBitIndex >= 0) { for (int i = 0; i < bytesToRead; i++) { bytes[i] = (byte) read(Byte.SIZE); } } else { byteStream.read(bytes, 0, bytes.length); } return bytes; } DatagramReader(final byte[] byteArray);  DatagramReader(final byte[] byteArray, boolean copy);  DatagramReader(final byte[] byteArray, int offset, int length);  DatagramReader(final ByteArrayInputStream byteStream); void mark(); void reset(); void close(); long readLong(final int numBits); int read(final int numBits); byte[] readBytes(final int count); byte readNextByte(); byte[] readBytesLeft(); boolean bytesAvailable(); boolean bytesAvailable(final int expectedBytes); int bitsLeft(); DatagramReader createRangeReader(int count); ByteArrayInputStream createRangeInputStream(int count); }
DatagramReader { public byte[] readBytes(final int count) { int available = byteStream.available(); int bytesToRead = count; if (bytesToRead < 0) { bytesToRead = available; } else if (bytesToRead > available) { throw new IllegalArgumentException( "requested " + count + " bytes exceeds available " + available + " bytes."); } byte[] bytes = new byte[bytesToRead]; if (currentBitIndex >= 0) { for (int i = 0; i < bytesToRead; i++) { bytes[i] = (byte) read(Byte.SIZE); } } else { byteStream.read(bytes, 0, bytes.length); } return bytes; } DatagramReader(final byte[] byteArray);  DatagramReader(final byte[] byteArray, boolean copy);  DatagramReader(final byte[] byteArray, int offset, int length);  DatagramReader(final ByteArrayInputStream byteStream); void mark(); void reset(); void close(); long readLong(final int numBits); int read(final int numBits); byte[] readBytes(final int count); byte readNextByte(); byte[] readBytesLeft(); boolean bytesAvailable(); boolean bytesAvailable(final int expectedBytes); int bitsLeft(); DatagramReader createRangeReader(int count); ByteArrayInputStream createRangeInputStream(int count);  }