@Test
public void shouldFillGapAtEndOfTerm()
{
final int gapOffset = termBuffer.capacity() - 64;
final int gapLength = 64;
dataFlyweight
.sessionId(SESSION_ID)
.termId(TERM_ID)
.streamId(STREAM_ID)
.flags(UNFRAGMENTED)
.frameLength(termBuffer.capacity() - gapOffset);
dataFlyweight.setMemory(0, gapOffset - DataHeaderFlyweight.HEADER_LENGTH, (byte)'x');
assertTrue(TermGapFiller.tryFillGap(metaDataBuffer, termBuffer, TERM_ID, gapOffset, gapLength));
dataFlyweight.wrap(termBuffer, gapOffset, termBuffer.capacity() - gapOffset);
assertThat(dataFlyweight.frameLength(), is(gapLength));
assertThat(dataFlyweight.termOffset(), is(gapOffset));
assertThat(dataFlyweight.sessionId(), is(SESSION_ID));
assertThat(dataFlyweight.termId(), is(TERM_ID));
assertThat(dataFlyweight.headerType(), is(PADDING_FRAME_TYPE));
assertThat((byte)(dataFlyweight.flags()), is(UNFRAGMENTED));
}
}