1f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot/*  Copyright (c) 2000-2006 hamcrest.org
2f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot */
3f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabotpackage org.hamcrest;
4f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot
5f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot
6f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabotpublic class MatcherAssert {
7f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot    public static <T> void assertThat(T actual, Matcher<T> matcher) {
8f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot        assertThat("", actual, matcher);
9f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot    }
10f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot
11f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot    public static <T> void assertThat(String reason, T actual, Matcher<T> matcher) {
12f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot        if (!matcher.matches(actual)) {
13f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot            Description description = new StringDescription();
14f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot            description.appendText(reason)
15f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot                       .appendText("\nExpected: ")
16f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot                       .appendDescriptionOf(matcher)
17f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot                       .appendText("\n     got: ")
18f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot                       .appendValue(actual)
19f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot                       .appendText("\n");
20f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot
21f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot            throw new java.lang.AssertionError(description.toString());
22f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot        }
23f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot    }
24f5e9a2415ec42c425c2bb17db46f2a9649992d80Brett Chabot}
25