public void test()

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);
    }