int assertDeleteSucceed(int i, int freeSpaceBeforeDelete, int deleteSpace) { int startOffset = appender.getTupleStartOffset(i); int endOffset = appender.getTupleEndOffset(i); int tupleLength = appender.getTupleLength(i); appender.delete(i); assertEquals(startOffset, appender.getTupleStartOffset(i)); assertEquals(-endOffset, appender.getTupleEndOffset(i)); assertEquals(-tupleLength, appender.getTupleLength(i)); assertEquals(freeSpaceBeforeDelete, appender.getContiguousFreeSpace()); assertEquals(deleteSpace + tupleLength + freeSpaceBeforeDelete, appender.getTotalFreeSpace()); return tupleLength; }
int assertTupleIsExpected(int i, int dataOffset) { int lenStrMeta = UTF8StringUtil.getNumBytesToStoreLength(i); int tupleLength = 2 * 4 + 4 + lenStrMeta + i + 1; assertEquals(dataOffset, appender.getTupleStartOffset(i)); assertEquals(tupleLength, appender.getTupleLength(i)); assertEquals(dataOffset + 2 * 4, appender.getAbsoluteFieldStartOffset(i, 0)); assertEquals(4, appender.getFieldLength(i, 0)); assertEquals( i + 1, IntSerDeUtils.getInt( appender.getBuffer().array(), appender.getAbsoluteFieldStartOffset(i, 0))); assertEquals(dataOffset + 2 * 4 + 4, appender.getAbsoluteFieldStartOffset(i, 1)); assertEquals(lenStrMeta + i + 1, appender.getFieldLength(i, 1)); return tupleLength; }