blob: f093acb4f5dd2dbfe15edc7197ce86e6e89e2913 [file] [log] [blame]
package org.hamcrest.core;
import org.hamcrest.AbstractMatcherTest;
import org.hamcrest.Matcher;
import static org.hamcrest.core.StringStartsWith.startsWith;
import static org.hamcrest.core.StringStartsWith.startsWithIgnoringCase;
public class StringStartsWithTest extends AbstractMatcherTest {
static final String EXCERPT = "EXCERPT";
final Matcher<String> stringStartsWith = startsWith(EXCERPT);
@Override
protected Matcher<?> createMatcher() {
return stringStartsWith;
}
public void testMatchesStringAtStart() {
assertMatches(stringStartsWith, EXCERPT + "END");
assertDoesNotMatch(stringStartsWith, "START" + EXCERPT);
assertDoesNotMatch(stringStartsWith, "START" + EXCERPT + "END");
assertMatches(stringStartsWith, EXCERPT);
assertDoesNotMatch(stringStartsWith, EXCERPT.toLowerCase());
assertMatches(stringStartsWith, EXCERPT + EXCERPT);
assertDoesNotMatch(stringStartsWith, "EXCER");
assertDescription("a string starting with \"EXCERPT\"", stringStartsWith);
assertMismatchDescription("was \"Something else\"", stringStartsWith, "Something else");
}
public void testMatchesStringAtStartIgnoringCase() {
final Matcher<String> ignoreCase = startsWithIgnoringCase("EXCerPT");
assertMatches(ignoreCase, "exCerPT" + "END");
assertDoesNotMatch(ignoreCase, "START" + "EXCerpt");
assertDoesNotMatch(ignoreCase, "START" + "EXcerpT" + "END");
assertMatches(ignoreCase, "excERPT");
assertMatches(ignoreCase, "ExcerPT" + "EXCerpt");
assertDoesNotMatch(ignoreCase, "ExcER");
assertDescription("a string starting with \"EXCerPT\" ignoring case", ignoreCase);
assertMismatchDescription("was \"Something else\"", ignoreCase, "Something else");
}
}