package org.mariadb.jdbc.internal.util.buffer;
import org.junit.Assert;
import org.junit.Test;
import org.mariadb.jdbc.internal.com.read.Buffer;
public class BufferTest {
@Test
public void testGetLengthEncodedBinary() throws Exception {
Assert.assertEquals(15, new Buffer(new byte[]{(byte)0x0f}).getLengthEncodedNumeric());
Assert.assertEquals(65535, new Buffer(new byte[]{(byte)0xfc, (byte)0xff, (byte)0xff}).getLengthEncodedNumeric());
Assert.assertEquals(16777215, new Buffer(new byte[]{(byte)0xfd, (byte)0xff, (byte)0xff, (byte)0xff}).getLengthEncodedNumeric());
Assert.assertEquals(Long.MAX_VALUE, new Buffer(new byte[]{(byte)0xfe, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff,
(byte)0xff, (byte)0xff, (byte)0x7f}).getLengthEncodedNumeric());
}
@Test
public void testSkipLengthEncodedBytes() throws Exception {
byte[] arr15 = new byte[1];
arr15[0] = (byte)0x0f;
Buffer buf15 = new Buffer(arr15);
buf15.skipLengthEncodedBytes();
Assert.assertEquals(16, buf15.position);
byte[] arr2 = new byte[3];
arr2[0] = (byte)0xfc;
arr2[1] = (byte)0xff;
arr2[2] = (byte)0xff;
Buffer buf2 = new Buffer(arr2);
buf2.skipLengthEncodedBytes();
Assert.assertEquals(65538, buf2.position);
byte[] arr3 = new byte[4];
arr3[0] = (byte)0xfd;
arr3[1] = (byte)0xff;
arr3[2] = (byte)0xff;
arr3[3] = (byte)0xff;
Buffer buf3 = new Buffer(arr3);
buf3.skipLengthEncodedBytes();
Assert.assertEquals(16777215 + 4, buf3.position);
byte[] arr4 = new byte[9];
arr4[0] = (byte)0xfe;
arr4[1] = (byte)0xf0;
arr4[2] = (byte)0xff;
arr4[3] = (byte)0xff;
arr4[4] = (byte)0x7f;
arr4[5] = (byte)0x00;
arr4[6] = (byte)0x00;
arr4[7] = (byte)0x00;
arr4[8] = (byte)0x00;
Buffer buf4 = new Buffer(arr4);
buf4.skipLengthEncodedBytes();
Assert.assertEquals(Integer.MAX_VALUE - 15 + 9, buf4.position);
}
}