public void testProperty()

in hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/unit/serializer/BytesBufferTest.java [651:781]


    public void testProperty() {
        BytesBuffer buf = BytesBuffer.allocate(0);
        PropertyKey pkey = genPkey(DataType.BOOLEAN);
        Object value = true;
        byte[] bytes = genBytes("01");
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        value = false;
        bytes = genBytes("00");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.BYTE);
        value = (byte) 127;
        bytes = genBytes("7f");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.INT);
        value = 127;
        bytes = genBytes("7f");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.INT);
        value = 128;
        bytes = genBytes("8100");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.FLOAT);
        value = 1.0f;
        bytes = genBytes("3f800000");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.FLOAT);
        value = 3.14f;
        bytes = genBytes("4048f5c3");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.FLOAT);
        value = -1.0f;
        bytes = genBytes("bf800000");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.FLOAT);
        value = Float.MAX_VALUE;
        bytes = genBytes("7f7fffff");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.LONG);
        value = 127L;
        bytes = genBytes("7f");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.DOUBLE);
        value = 3.14d;
        bytes = genBytes("40091eb851eb851f");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.DATE);
        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Beijing"));
        c.setTimeInMillis(1565851529514L);
        value = c.getTime();
        bytes = genBytes("adc9a098e22a");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.TEXT);
        value = "abc";
        bytes = genBytes("03616263");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.BLOB);
        value = genBytes("001199aabbcc");
        bytes = genBytes("06001199aabbcc");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(Blob.wrap((byte[]) value),
                            BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.UUID);
        value = UUID.fromString("3cfcafc8-7906-4ab7-a207-4ded056f58de");
        bytes = genBytes("3cfcafc879064ab7a2074ded056f58de");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.OBJECT);
        value = new Point(3, 8);
        bytes = genBytes("1301006a6176612e6177742e506f696ef4010610");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.OBJECT);
        value = UUID.fromString("3cfcafc8-7906-4ab7-a207-4ded056f58de");
        bytes = genBytes("2101006a6176612e7574696c2e555549c401" +
                         "3cfcafc879064ab7a2074ded056f58de");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertEquals(value, BytesBuffer.wrap(bytes).readProperty(pkey));

        pkey = genPkey(DataType.OBJECT);
        value = new int[]{1, 3, 8};
        bytes = genBytes("0901005bc90104020610");
        buf.forReadWritten();
        Assert.assertArrayEquals(bytes, buf.writeProperty(pkey, value).bytes());
        Assert.assertArrayEquals((int[]) value, (int[])
                BytesBuffer.wrap(bytes).readProperty(pkey));
    }