blob: 93dd05cf62d844636727701b29e6ba8e5239775d [file] [log] [blame]
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<String> 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<String> 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);
}
}