@Test public void testCompact() throws Exception { DynamicByteBuffer readBuffer = DynamicByteBuffer.allocate(512); byte[] bytes = new byte[521]; DynamicByteBuffer data = DynamicByteBuffer.wrap(bytes); readBuffer.putBuffer(data); readBuffer.limit(data.position()); int numberOfBytesToBeCopiedDuringCompact = readBuffer.remaining(); readBuffer.compact(); // compact the read buffer Assert.assertEquals(numberOfBytesToBeCopiedDuringCompact, readBuffer.position()); byte[] bytes1 = new byte[10]; DynamicByteBuffer data1 = DynamicByteBuffer.wrap(bytes1); readBuffer.putBuffer(data1); readBuffer.limit(data1.position()); numberOfBytesToBeCopiedDuringCompact = readBuffer.remaining(); readBuffer.compact(); // compact the read buffer Assert.assertEquals(numberOfBytesToBeCopiedDuringCompact, readBuffer.position()); readBuffer.position(10); numberOfBytesToBeCopiedDuringCompact = readBuffer.remaining(); readBuffer.compact(); Assert.assertEquals(numberOfBytesToBeCopiedDuringCompact, readBuffer.position()); }