in computer-test/src/main/java/org/apache/hugegraph/computer/core/store/PointerTest.java [36:90]
public void test() throws IOException {
byte[] data = new byte[]{100, 0, 0, 0};
byte[] expectedWriteResult = {4, 0, 0, 0, 100, 0, 0, 0,
4, 0, 0, 0, 100, 0, 0, 0};
BytesOutput output = IOFactory.createBytesOutput(
Constants.SMALL_BUF_SIZE);
output.writeFixedInt(data.length);
output.write(data);
output.writeFixedInt(data.length);
output.write(data);
BytesInput input = EntriesUtil.inputFromOutput(output);
KvEntry inlineKvEntry = EntriesUtil.kvEntryFromInput(input, true,
false);
Pointer inlineKey = inlineKvEntry.key();
Pointer inlineValue = inlineKvEntry.value();
Assert.assertEquals(0L, inlineKey.offset());
Assert.assertEquals(4L, inlineKey.length());
Assert.assertEquals(0, BytesUtil.compare(data, inlineKey.bytes()));
Assert.assertEquals(0L, inlineValue.offset());
Assert.assertEquals(4L, inlineValue.length());
Assert.assertEquals(0, BytesUtil.compare(data, inlineValue.bytes()));
BytesOutput writeOutput = IOFactory.createBytesOutput(
Constants.SMALL_BUF_SIZE);
inlineKey.write(writeOutput);
inlineValue.write(writeOutput);
int result = BytesUtil.compare(expectedWriteResult,
expectedWriteResult.length,
writeOutput.buffer(),
(int) writeOutput.position());
Assert.assertEquals(0, result);
input.seek(0);
KvEntry cachedKvEntry = EntriesUtil.kvEntryFromInput(input, false,
false);
Pointer cachedKey = cachedKvEntry.key();
Pointer cachedValue = cachedKvEntry.value();
Assert.assertEquals(4L, cachedKey.offset());
Assert.assertEquals(4L, cachedKey.length());
Assert.assertEquals(0, BytesUtil.compare(data, cachedKey.bytes()));
Assert.assertEquals(12L, cachedValue.offset());
Assert.assertEquals(4L, cachedValue.length());
Assert.assertEquals(0, BytesUtil.compare(data, cachedValue.bytes()));
writeOutput = IOFactory.createBytesOutput(Constants.SMALL_BUF_SIZE);
cachedKey.write(writeOutput);
cachedValue.write(writeOutput);
result = BytesUtil.compare(expectedWriteResult,
expectedWriteResult.length,
writeOutput.buffer(),
(int) writeOutput.position());
Assert.assertEquals(0, result);
}