blob: 9e0a4ab273d6b8fbf5028c8c4d7053ea387871a1 [file] [log] [blame]
package org.hamcrest.core;
import org.hamcrest.Matcher;
/**
* Tests if the argument is a string that contains a substring.
*/
public class StringContains extends SubstringMatcher {
public StringContains(boolean ignoringCase, String substring) {
super("containing", ignoringCase, substring);
}
@Override
protected boolean evalSubstringOf(String s) {
return converted(s).contains(converted(substring));
}
/**
* Creates a matcher that matches if the examined {@link String} contains the specified
* {@link String} anywhere.
* For example:
* <pre>assertThat("myStringOfNote", containsString("ring"))</pre>
*
* @param substring
* the substring that the returned matcher will expect to find within any examined string
*
*/
public static Matcher<String> containsString(String substring) {
return new StringContains(false, substring);
}
/**
* Creates a matcher that matches if the examined {@link String} contains the specified
* {@link String} anywhere, ignoring case.
* For example:
* <pre>assertThat("myStringOfNote", containsString("ring"))</pre>
*
* @param substring
* the substring that the returned matcher will expect to find within any examined string
*
*/
public static Matcher<String> containsStringIgnoringCase(String substring) {
return new StringContains(true, substring);
}
}