package org.hamcrest.core; import org.hamcrest.AbstractMatcherTest; import org.hamcrest.Matcher; import static org.hamcrest.core.StringContains.containsString; import static org.hamcrest.core.StringContains.containsStringIgnoringCase; public class StringContainsTest extends AbstractMatcherTest { static final String EXCERPT = "EXCERPT"; final Matcher stringContains = containsString(EXCERPT); @Override protected Matcher createMatcher() { return stringContains; } public void testMatchesSubstrings() { assertMatches(stringContains, EXCERPT + "END"); assertMatches(stringContains, "START" + EXCERPT); assertMatches(stringContains, "START" + EXCERPT + "END"); assertMatches(stringContains, EXCERPT); assertDoesNotMatch(stringContains, EXCERPT.toLowerCase()); assertMatches(stringContains, EXCERPT + EXCERPT); assertDoesNotMatch(stringContains, "XC"); assertMismatchDescription("was \"Something else\"", stringContains, "Something else"); assertDescription("a string containing \"EXCERPT\"", stringContains); } public void testMatchesSubstringsIgnoringCase() { final Matcher ignoringCase = containsStringIgnoringCase("ExCert"); assertMatches(ignoringCase, "eXcERT" + "END"); assertMatches(ignoringCase, "START" + "EXCert"); assertMatches(ignoringCase, "START" + "excERT" + "END"); assertMatches(ignoringCase, "eXCert" + "excErt"); assertDoesNotMatch(ignoringCase, "xc"); assertMismatchDescription("was \"Something else\"", ignoringCase, "Something else"); assertDescription("a string containing \"ExCert\" ignoring case", ignoringCase); } }