public void testCopyToByteArray()

in computer-test/src/main/java/org/apache/hugegraph/computer/core/network/buffer/NetworkBufferTest.java [101:153]


    public void testCopyToByteArray() {
        String testData = "test data";
        byte[] bytesSource = StringEncoding.encode(testData);

        ByteBuffer byteBuffer = ByteBuffer.allocateDirect(bytesSource.length);
        byteBuffer = byteBuffer.put(bytesSource);
        byteBuffer.flip();
        NioBuffer nioManagedBuffer = new NioBuffer(byteBuffer);
        byte[] bytes = nioManagedBuffer.copyToByteArray();
        Assert.assertArrayEquals(bytesSource, bytes);
        Assert.assertNotSame(bytesSource, bytes);

        ByteBuffer byteBuffer2 = ByteBuffer.allocate(bytesSource.length);
        byteBuffer2 = byteBuffer2.put(bytesSource);
        byteBuffer2.flip();

        int position = byteBuffer2.position();
        int remaining = byteBuffer2.remaining();
        NioBuffer nioManagedBuffer2 = new NioBuffer(byteBuffer2);
        byte[] bytes2 = nioManagedBuffer2.copyToByteArray();
        Assert.assertArrayEquals(bytesSource, bytes2);
        Assert.assertNotSame(bytesSource, bytes2);
        Assert.assertEquals(position, byteBuffer2.position());
        Assert.assertEquals(remaining, byteBuffer2.remaining());

        ByteBuf buf3 = Unpooled.directBuffer(bytesSource.length);
        try {
            buf3 = buf3.writeBytes(bytesSource);
            int readerIndex = buf3.readerIndex();
            int readableBytes = buf3.readableBytes();
            NettyBuffer nettyManagedBuffer3 =
                               new NettyBuffer(buf3);
            byte[] bytes3 = nettyManagedBuffer3.copyToByteArray();
            Assert.assertArrayEquals(bytesSource, bytes3);
            Assert.assertNotSame(bytesSource, bytes3);
            Assert.assertEquals(readerIndex, buf3.readerIndex());
            Assert.assertEquals(readableBytes, buf3.readableBytes());
        } finally {
            buf3.release();
        }

        ByteBuf buf4 = Unpooled.buffer(bytesSource.length);
        try {
            buf4 = buf4.writeBytes(bytesSource);
            NettyBuffer nettyManagedBuffer4 =
                               new NettyBuffer(buf4);
            byte[] bytes4 = nettyManagedBuffer4.copyToByteArray();
            Assert.assertArrayEquals(bytesSource, bytes4);
            Assert.assertNotSame(bytesSource, bytes4);
        } finally {
            buf4.release();
        }
    }