public void readOfLength0ShouldReturn0() throws Exception {
final byte[] rawData = new byte[1048576];
for (int i=0; i < rawData.length; ++i) {
rawData[i] = (byte) Math.floor(Math.random()*256);
}
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final BZip2CompressorOutputStream bzipOut = new BZip2CompressorOutputStream(baos);
bzipOut.write(rawData);
bzipOut.flush();
bzipOut.close();
baos.flush();
baos.close();
final ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
final BZip2CompressorInputStream bzipIn = new BZip2CompressorInputStream(bais);
final byte[] buffer = new byte[1024];
Assert.assertEquals(1024, bzipIn.read(buffer, 0, 1024));
Assert.assertEquals(0, bzipIn.read(buffer, 1024, 0));
Assert.assertEquals(1024, bzipIn.read(buffer, 0, 1024));
bzipIn.close();
}
|