### Question:
StringUtil { public static boolean containsIgnoreCase(final String str, final String searchStr) { if ((str == null) || (searchStr == null)) { return false; } int len = searchStr.length(); int max = str.length() - len; for (int i = 0; i <= max; i++) { if (str.regionMatches(true, i, searchStr, 0, len)) { return true; } } return false; } private  StringUtil(); static boolean containsIgnoreCase(final String str, final String searchStr);  }### Answer:
@SuppressWarnings("nls") @Test public void test() { assertTrue(StringUtil.containsIgnoreCase("FranCescO( AS ", "francesco")); assertTrue(StringUtil.containsIgnoreCase("FranCescO( as ", " as ")); assertTrue(StringUtil.containsIgnoreCase("FranCescO( AS ", " as ")); assertTrue(StringUtil.containsIgnoreCase("FranCescO( as ", " AS ")); assertTrue(StringUtil.containsIgnoreCase("FranCescO( AS ", "(")); assertFalse(StringUtil.containsIgnoreCase("FranCescO( As ", "ff")); }