1c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffinpackage org.hamcrest; 2c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin 3c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin 4c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffinpublic class MatcherAssert { 5c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin public static <T> void assertThat(T actual, Matcher<? super T> matcher) { 6c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin assertThat("", actual, matcher); 7c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin } 8c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin 9c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin public static <T> void assertThat(String reason, T actual, Matcher<? super T> matcher) { 10c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin if (!matcher.matches(actual)) { 11c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin Description description = new StringDescription(); 12c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin description.appendText(reason) 13c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin .appendText("\nExpected: ") 14c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin .appendDescriptionOf(matcher) 15c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin .appendText("\n but: "); 16c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin matcher.describeMismatch(actual, description); 17c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin 18c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin throw new AssertionError(description.toString()); 19c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin } 20c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin } 21c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin 22c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin public static void assertThat(String reason, boolean assertion) { 23c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin if (!assertion) { 24c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin throw new AssertionError(reason); 25c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin } 26c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin } 27c1dbb44e71e47410ad5685aba3ef3fccb095a2b4Paul Duffin} 28