### Question:
EqualsIgnoreCasePredicate implements Predicate<String> { @Override public boolean test(String input) { if (input == null) { return false; } for (String allowed : myStrings) { if (input.equalsIgnoreCase(allowed)) { return true; } } return false; } EqualsIgnoreCasePredicate(Collection<? extends String> strings);  EqualsIgnoreCasePredicate(String string); @Override boolean equals(Object obj); @Override int hashCode(); @Override boolean test(String input);  }### Answer:
@Test public void test() { EqualsIgnoreCasePredicate predicate = new EqualsIgnoreCasePredicate(Arrays.asList("ONE", "TWO", "THREE")); Assert.assertFalse(predicate.test(null)); Assert.assertFalse(predicate.test("")); Assert.assertTrue(predicate.test("One")); Assert.assertTrue(predicate.test("tWo")); Assert.assertTrue(predicate.test("thRee")); Assert.assertFalse(predicate.test("aOne")); Assert.assertFalse(predicate.test("atWo")); Assert.assertFalse(predicate.test("athRee")); Assert.assertFalse(predicate.test("Onea")); Assert.assertFalse(predicate.test("tWoa")); Assert.assertFalse(predicate.test("thReea")); }