aboutsummaryrefslogtreecommitdiff
path: root/hamcrest-core/src/main/java/org/hamcrest/core/StringContains.java
diff options
context:
space:
mode:
Diffstat (limited to 'hamcrest-core/src/main/java/org/hamcrest/core/StringContains.java')
-rw-r--r--hamcrest-core/src/main/java/org/hamcrest/core/StringContains.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/hamcrest-core/src/main/java/org/hamcrest/core/StringContains.java b/hamcrest-core/src/main/java/org/hamcrest/core/StringContains.java
new file mode 100644
index 0000000..9e0a4ab
--- /dev/null
+++ b/hamcrest-core/src/main/java/org/hamcrest/core/StringContains.java
@@ -0,0 +1,46 @@
+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);
+ }
+
+}