/* Copyright (c) 2000-2006 hamcrest.org */ package org.hamcrest.core; import static org.hamcrest.core.StringStartsWith.startsWith; import static org.hamcrest.core.StringStartsWith.startsWithIgnoringCase; import org.hamcrest.AbstractMatcherTest; import org.hamcrest.Matcher; 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"); } }