ArrayHelper { public static boolean hasSubArray(byte[] array, byte[] arrayToFind) { int findLen = arrayToFind.length; int maxIdx = array.length - findLen ; boolean found = false; for (int i = 0; (i <= maxIdx) && !found; i++) { byte[] subArray = ArrayUtils.subarray(array, i, i+findLen); found = Arrays.equals(arrayToFind, subArray); } return found; }  static boolean hasSubArray(byte[] array, byte[] arrayToFind); static char[] resourceToChars(String resourcePath); static byte[] resourceToBytes(String resourcePath);  }
@Test public void testHasSubArray_SubArrayAtTheEnd(){ byte[] array = new byte[3]; array[0] = 1; array[1] = 2; array[2] = 3; byte[] subArray = new byte[1]; subArray[0] = 3; boolean hasSubArray = ArrayHelper.hasSubArray(array, subArray); Assert.assertTrue(hasSubArray); }
@Test public void testHasSubArray_SubArrayAtTheBegining(){ byte[] array = new byte[3]; array[0] = 1; array[1] = 2; array[2] = 3; byte[] subArray = new byte[1]; subArray[0] = 1; boolean hasSubArray = ArrayHelper.hasSubArray(array, subArray); Assert.assertTrue(hasSubArray); }
@Test public void testHasSubArray_SubArrayInTheMiddle(){ byte[] array = new byte[3]; array[0] = 1; array[1] = 2; array[2] = 3; byte[] subArray = new byte[1]; subArray[0] = 2; boolean hasSubArray = ArrayHelper.hasSubArray(array, subArray); Assert.assertTrue(hasSubArray); }
@Test public void testHasSubArray_NotFound(){ byte[] array = new byte[3]; array[0] = 1; array[1] = 2; array[2] = 3; byte[] subArray = new byte[1]; subArray[0] = 4; boolean hasSubArray = ArrayHelper.hasSubArray(array, subArray); Assert.assertTrue(!hasSubArray); }