/**********************************************************************
*/
private void _testStreamySkips(SegType aType) throws Exception
{
final StreamyBytesMemBuffer buffer = createBytesBuffers(aType, 10, 1, 4).createStreamyBuffer(1, 3);
// append bytes in 5 pieces
for (int i = 5; i >= 0; --i) {
buffer.append(new byte[i]);
}
assertEquals(15, buffer.getTotalPayloadLength());
assertFalse(buffer.isEmpty());
// then skip all of it, in different order
int left = 15;
for (int i = 0; i <= 5; ++i) {
assertEquals(i, buffer.skip(i));
left -= i;
assertEquals(left, buffer.getTotalPayloadLength());
}
assertEquals(0, buffer.getTotalPayloadLength());
assertTrue(buffer.isEmpty());
// and when empty, nothing more:
assertEquals(0, buffer.skip(100));
assertTrue(buffer.isEmpty());
}