diff --git a/pom.xml b/pom.xml index 115f598..e3cb6e5 100644 --- a/pom.xml +++ b/pom.xml @@ -17,6 +17,17 @@ + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + diff --git a/src/test/java/util/ByteHelperTest.java b/src/test/java/util/ByteHelperTest.java index 88678f2..e6db963 100644 --- a/src/test/java/util/ByteHelperTest.java +++ b/src/test/java/util/ByteHelperTest.java @@ -1,5 +1,6 @@ package util; +import encoding.VlInt; import org.junit.Test; import static org.junit.Assert.*; @@ -12,17 +13,191 @@ import static org.junit.Assert.*; * @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 */public class ByteHelperTest { + @Test + public void getTailBytes(){ + ByteHelper byteHelper = new ByteHelper(); + //偶数字节 + byte[] buffer = new byte[]{0x00,0x01,(byte) 0x80,0x7f}; //1 + byte[] test1 = new byte[]{0x01,(byte) 0x80,0x7f}; + //奇数字节 + byte[] buffer2 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x00,(byte) 0xff, (byte) 0xff}; //65535 + byte[] test2 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,(byte) 0xff, (byte) 0xff}; //65535 + int startIndex = 1; + byte[] b = byteHelper.getTailBytes(buffer,startIndex); + byte[] b2 = byteHelper.getTailBytes(buffer2,startIndex); + assertArrayEquals(b,test1); + assertArrayEquals(b2,test2); + } + + //error + @Test + public void getFirstByte() { + byte[] b0 = new byte[]{0x00,0x00,0x01}; + byte[] test = new byte[]{0x7f,0x7f,0x7f,0x7f}; + VlInt start0 = new VlInt(b0); + byte firstbyte = ByteHelper.getFirstByte(test,start0); + assertEquals(firstbyte,test[0]); + } + + //error + @Test + public void getLenBytes() { + } + // @Test -// public void getFirstByte() { +// //private方法,测试前将原代码中的private删除 +// public void byteArrayToInt(){ +// byte[] b1 = new byte[]{0x00,0x00,0x00,0x00}; //0 +// byte[] b2 = new byte[]{0x00,0x00,0x00,0x01}; //1 +// byte[] b3 = new byte[]{0x00,0x00,0x00,0x7f}; //127 +// byte[] b4 = new byte[]{0x00,0x00,0x00, (byte) 0x80}; //128 +// byte[] b5 = new byte[]{0x00,0x00,0x00, (byte) 0xff}; //255 +// byte[] b6 = new byte[]{0x00,0x00,0x01, 0x00}; //256 +// byte[] b7 = new byte[]{0x00,0x00,0x7f, (byte) 0xff}; //32767 +// byte[] b8 = new byte[]{0x00,0x00,(byte) 0x80, 0x00}; //32768 +// byte[] b9 = new byte[]{0x00,0x00,(byte) 0xff, (byte) 0xff}; //65535 +// byte[] b10 = new byte[]{0x00,0x01,0x00,0x00}; //65536 +// byte[] b11 = new byte[]{0x7f,(byte) 0xff,(byte) 0xff,(byte) 0xff};//2147483647 +// //数值类型为long +//// byte[] b12 = new byte[]{(byte) 0x80,0x00,0x00,0x00}; //2147483648 +//// byte[] b13 = new byte[]{(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff};//4294967295 +// ByteHelper byteHelper = new ByteHelper(); +// long a1 = byteHelper.byteArrayToInt(b1); +// long a2 = byteHelper.byteArrayToInt(b2); +// long a3 = byteHelper.byteArrayToInt(b3); +// long a4 = byteHelper.byteArrayToInt(b4); +// long a5 = byteHelper.byteArrayToInt(b5); +// long a6 = byteHelper.byteArrayToInt(b6); +// long a7 = byteHelper.byteArrayToInt(b7); +// long a8 = byteHelper.byteArrayToInt(b8); +// long a9 = byteHelper.byteArrayToInt(b9); +// long a10 = byteHelper.byteArrayToInt(b10); +// long a11 = byteHelper.byteArrayToInt(b11); +//// long a12 = byteHelper.byteArrayToInt(b12); +//// long a13 = byteHelper.byteArrayToInt(b13); +// +// assertEquals(a1,0); +// assertEquals(a2,1); +// assertEquals(a3,127); +// assertEquals(a4,128); +// assertEquals(a5,255); +// assertEquals(a6,256); +// assertEquals(a7,32767); +// assertEquals(a8,32768); +// assertEquals(a9,65535); +// assertEquals(a10,65536); +// assertEquals(a11,2147483647); +//// assertEquals(a12,2147483648L); +//// assertEquals(a13,4294967295L); +// +// } +// +// +// @Test +// //private方法,测试前将原代码中的private删除 +// public void intToByteArray(){ +// byte[] b1 = new byte[]{0x00,0x00,0x00,0x00}; //0 +// byte[] b2 = new byte[]{0x00,0x00,0x00,0x01}; //1 +// byte[] b3 = new byte[]{0x00,0x00,0x00,0x7f}; //127 +// byte[] b4 = new byte[]{0x00,0x00,0x00, (byte) 0x80}; //128 +// byte[] b5 = new byte[]{0x00,0x00,0x00, (byte) 0xff}; //255 +// byte[] b6 = new byte[]{0x00,0x00,0x01, 0x00}; //256 +// byte[] b7 = new byte[]{0x00,0x00,0x7f, (byte) 0xff}; //32767 +// byte[] b8 = new byte[]{0x00,0x00,(byte) 0x80, 0x00}; //32768 +// byte[] b9 = new byte[]{0x00,0x00,(byte) 0xff, (byte) 0xff}; //65535 +// byte[] b10 = new byte[]{0x00,0x01,0x00,0x00}; //65536 +// byte[] b11 = new byte[]{0x7f,(byte) 0xff,(byte) 0xff,(byte) 0xff};//2147483647 +// byte[] b12 = new byte[]{(byte) 0x80,0x00,0x00,0x00}; //2147483648 +// byte[] b13 = new byte[]{(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff};//4294967295 +// ByteHelper byteHelper = new ByteHelper(); +// byte [] a1 = byteHelper.intToByteArray(0); +// byte [] a2 = byteHelper.intToByteArray(1); +// byte [] a3 = byteHelper.intToByteArray(127); +// byte [] a4 = byteHelper.intToByteArray(128); +// byte [] a5 = byteHelper.intToByteArray(255); +// byte [] a6 = byteHelper.intToByteArray(256); +// byte [] a7 = byteHelper.intToByteArray(32767); +// byte [] a8 = byteHelper.intToByteArray(32768); +// byte [] a9 = byteHelper.intToByteArray(65535); +// byte [] a10 = byteHelper.intToByteArray(65536); +// byte [] a11 = byteHelper.intToByteArray(2147483647); +// +// assertArrayEquals(a1,b1); +// assertArrayEquals(a2,b2); +// assertArrayEquals(a3,b3); +// assertArrayEquals(a4,b4); +// assertArrayEquals(a5,b5); +// assertArrayEquals(a6,b6); +// assertArrayEquals(a7,b7); +// assertArrayEquals(a8,b8); +// assertArrayEquals(a9,b9); +// assertArrayEquals(a6,b6); +// assertArrayEquals(a7,b7); +// assertArrayEquals(a8,b8); +// assertArrayEquals(a9,b9); +// assertArrayEquals(a10,b10); +// assertArrayEquals(a11,b11); // // } // // @Test -// public void getLenBytes() { -// } +// //private方法,测试前将原代码中的private删除 +// public void longToByteArray(){ +// byte[] b1 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //0 +// byte[] b2 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}; //1 +// byte[] b3 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f}; //127 +// byte[] b4 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x00, (byte) 0x80}; //128 +// byte[] b5 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x00, (byte) 0xff}; //255 +// byte[] b6 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x01, 0x00}; //256 +// byte[] b7 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,0x7f, (byte) 0xff}; //32767 +// byte[] b8 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,(byte) 0x80, 0x00}; //32768 +// byte[] b9 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x00,(byte) 0xff, (byte) 0xff}; //65535 +// byte[] b10 = new byte[]{0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00}; //65536 +// byte[] b11 = new byte[]{0x00,0x00,0x00,0x00,0x7f,(byte) 0xff,(byte) 0xff,(byte) 0xff};//2147483647 +// byte[] b12 = new byte[]{0x00,0x00,0x00,0x00,(byte) 0x80,0x00,0x00,0x00}; //2147483648 +// byte[] b13 = new byte[]{0x00,0x00,0x00,0x00,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff};//4294967295 +// byte[] b14 = new byte[]{0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00};//4294967296 +// byte[] b15 = new byte[]{0x7f,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff};//9223372036854775807 +// byte[] b16 = new byte[]{(byte) 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//9223372036854775808 +// byte[] b17 = new byte[]{(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff};//18446744073709551615 +// ByteHelper byteHelper = new ByteHelper(); +// byte [] a1 = byteHelper.longToByteArray(0); +// byte [] a2 = byteHelper.longToByteArray(1); +// byte [] a3 = byteHelper.longToByteArray(127); +// byte [] a4 = byteHelper.longToByteArray(128); +// byte [] a5 = byteHelper.longToByteArray(255); +// byte [] a6 = byteHelper.longToByteArray(256); +// byte [] a7 = byteHelper.longToByteArray(32767); +// byte [] a8 = byteHelper.longToByteArray(32768); +// byte [] a9 = byteHelper.longToByteArray(65535); +// byte [] a10 = byteHelper.longToByteArray(65536); +// byte [] a11 = byteHelper.longToByteArray(2147483647); +// byte [] a12 = byteHelper.longToByteArray(2147483648l); +// byte [] a13 = byteHelper.longToByteArray(4294967295l); +// byte [] a14 = byteHelper.longToByteArray(4294967296L); +// byte [] a15 = byteHelper.longToByteArray(9223372036854775807L); +//// byte [] a16 = byteHelper.uint64ToByteArray(9223372036854775808L); +//// byte [] a17 = byteHelper.uint64ToByteArray(18446744073709551615L); +// assertArrayEquals(a1,b1); +// assertArrayEquals(a2,b2); +// assertArrayEquals(a3,b3); +// assertArrayEquals(a4,b4); +// assertArrayEquals(a5,b5); +// assertArrayEquals(a6,b6); +// assertArrayEquals(a7,b7); +// assertArrayEquals(a8,b8); +// assertArrayEquals(a9,b9); +// assertArrayEquals(a6,b6); +// assertArrayEquals(a7,b7); +// assertArrayEquals(a8,b8); +// assertArrayEquals(a9,b9); +// assertArrayEquals(a10,b10); +// assertArrayEquals(a11,b11); +// assertArrayEquals(a12,b12); +// assertArrayEquals(a13,b13); +// assertArrayEquals(a14,b14); +// assertArrayEquals(a15,b15); // -// @Test -// public void testGetLenBytes() { // } // 0 1 127 128 255 @@ -146,19 +321,19 @@ import static org.junit.Assert.*; byte [] a7 = byteHelper.uint16ToByteArray(32767); byte [] a8 = byteHelper.uint16ToByteArray(32768); byte [] a9 = byteHelper.uint16ToByteArray(65535); - assertEquals(a1,b1); - assertEquals(a2,b2); - assertEquals(a3,b3); - assertEquals(a4,b4); - assertEquals(a5,b5); - assertEquals(a6,b6); - assertEquals(a7,b7); - assertEquals(a8,b8); - assertEquals(a9,b9); - assertEquals(a6,b6); - assertEquals(a7,b7); - assertEquals(a8,b8); - assertEquals(a9,b9); + assertArrayEquals(a1,b1); + assertArrayEquals(a2,b2); + assertArrayEquals(a3,b3); + assertArrayEquals(a4,b4); + assertArrayEquals(a5,b5); + assertArrayEquals(a6,b6); + assertArrayEquals(a7,b7); + assertArrayEquals(a8,b8); + assertArrayEquals(a9,b9); + assertArrayEquals(a6,b6); + assertArrayEquals(a7,b7); + assertArrayEquals(a8,b8); + assertArrayEquals(a9,b9); } @Test @@ -258,7 +433,7 @@ import static org.junit.Assert.*; byte[] b13 = new byte[]{(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff};//4294967295 ByteHelper byteHelper = new ByteHelper(); byte [] a1 = byteHelper.uint32ToByteArray(0); - byte [] a2 = byteHelper.uint16ToByteArray(1); + byte [] a2 = byteHelper.uint32ToByteArray(1); byte [] a3 = byteHelper.uint32ToByteArray(127); byte [] a4 = byteHelper.uint32ToByteArray(128); byte [] a5 = byteHelper.uint32ToByteArray(255); @@ -270,23 +445,23 @@ import static org.junit.Assert.*; byte [] a11 = byteHelper.uint32ToByteArray(2147483647); byte [] a12 = byteHelper.uint32ToByteArray(2147483648l); byte [] a13 = byteHelper.uint32ToByteArray(4294967295l); - assertEquals(a1,b1); - assertEquals(a2,b2); - assertEquals(a3,b3); - assertEquals(a4,b4); - assertEquals(a5,b5); - assertEquals(a6,b6); - assertEquals(a7,b7); - assertEquals(a8,b8); - assertEquals(a9,b9); - assertEquals(a6,b6); - assertEquals(a7,b7); - assertEquals(a8,b8); - assertEquals(a9,b9); - assertEquals(a10,b10); - assertEquals(a11,b11); - assertEquals(a12,b12); - assertEquals(a13,b13); + assertArrayEquals(a1,b1); + assertArrayEquals(a2,b2); + assertArrayEquals(a3,b3); + assertArrayEquals(a4,b4); + assertArrayEquals(a5,b5); + assertArrayEquals(a6,b6); + assertArrayEquals(a7,b7); + assertArrayEquals(a8,b8); + assertArrayEquals(a9,b9); + assertArrayEquals(a6,b6); + assertArrayEquals(a7,b7); + assertArrayEquals(a8,b8); + assertArrayEquals(a9,b9); + assertArrayEquals(a10,b10); + assertArrayEquals(a11,b11); + assertArrayEquals(a12,b12); + assertArrayEquals(a13,b13); } //error @@ -394,25 +569,25 @@ import static org.junit.Assert.*; byte [] a15 = byteHelper.uint64ToByteArray(9223372036854775807L); // byte [] a16 = byteHelper.uint64ToByteArray(9223372036854775808L); // byte [] a17 = byteHelper.uint64ToByteArray(18446744073709551615L); - assertEquals(a1,b1); - assertEquals(a2,b2); - assertEquals(a3,b3); - assertEquals(a4,b4); - assertEquals(a5,b5); - assertEquals(a6,b6); - assertEquals(a7,b7); - assertEquals(a8,b8); - assertEquals(a9,b9); - assertEquals(a6,b6); - assertEquals(a7,b7); - assertEquals(a8,b8); - assertEquals(a9,b9); - assertEquals(a10,b10); - assertEquals(a11,b11); - assertEquals(a12,b12); - assertEquals(a13,b13); - assertEquals(a14,b14); - assertEquals(a15,b15); + assertArrayEquals(a1,b1); + assertArrayEquals(a2,b2); + assertArrayEquals(a3,b3); + assertArrayEquals(a4,b4); + assertArrayEquals(a5,b5); + assertArrayEquals(a6,b6); + assertArrayEquals(a7,b7); + assertArrayEquals(a8,b8); + assertArrayEquals(a9,b9); + assertArrayEquals(a6,b6); + assertArrayEquals(a7,b7); + assertArrayEquals(a8,b8); + assertArrayEquals(a9,b9); + assertArrayEquals(a10,b10); + assertArrayEquals(a11,b11); + assertArrayEquals(a12,b12); + assertArrayEquals(a13,b13); + assertArrayEquals(a14,b14); + assertArrayEquals(a15,b15); // assertEquals(a16,b16); // assertEquals(a17,b17); }