### Question:
StringUtils { public static boolean isContains(char[] a, char[] b) { if (ArrayUtils.isEmpty(a) || ArrayUtils.isEmpty(b)) { return false; } int alen = a.length; int blen = b.length; for (int i = 0; i < alen; i++) { if (alen - i < blen) { return false; } int j; for (j = 0; j < blen; j++) { if (a[i + j] != b[j]) { break; } } if (j == blen) { return true; } } return false; }  static boolean isCharEqual(char[] str); static boolean isNumeric(char[] str); static boolean isContains(char[] a, char[] b); static void clear(char[] a); static void clear(byte[] a); static byte[] char2Byte(char[] a); static char[] byte2Char(byte[] a); static void printOneByte(byte b); static byte[] hexs2Bytes(byte[] a);  }### Answer:
@Test public void isContains() { char[] a = "abcdef".toCharArray(); char[] b = "ghijkl".toCharArray(); char[] c = "defghi".toCharArray(); char[] d = "abcdefghijkl".toCharArray(); Assert.assertTrue(StringUtils.isContains(d, d)); Assert.assertTrue(StringUtils.isContains(d, a)); Assert.assertTrue(StringUtils.isContains(d, b)); Assert.assertTrue(StringUtils.isContains(d, c)); Assert.assertFalse(StringUtils.isContains(a, d)); Assert.assertFalse(StringUtils.isContains(b, d)); Assert.assertFalse(StringUtils.isContains(c, d)); Assert.assertFalse(StringUtils.isContains(a, b)); Assert.assertFalse(StringUtils.isContains(b, a)); Assert.assertFalse(StringUtils.isContains(b, c)); Assert.assertFalse(StringUtils.isContains(c, b)); Assert.assertFalse(StringUtils.isContains(a, c)); Assert.assertFalse(StringUtils.isContains(c, a)); char[] e = "abcabcdef".toCharArray(); char[] f = "abcdef".toCharArray(); Assert.assertTrue(StringUtils.isContains(e, f)); char[] g = "abababcdef".toCharArray(); char[] h = "ababcdef".toCharArray(); Assert.assertTrue(StringUtils.isContains(g, h)); }