    001    /*  Copyright (c) 2000-2006 hamcrest.org
    002     */
    003    package org.hamcrest;
    004
    005
    006    public class MatcherAssert {
    007        public static <T> void assertThat(T actual, Matcher<? super T> matcher) {
    008            assertThat("", actual, matcher);
    009        }
    010
    011        public static <T> void assertThat(String reason, T actual, Matcher<? super T> matcher) {
    012            if (!matcher.matches(actual)) {
    013                Description description = new StringDescription();
    014                description.appendText(reason)
    015                           .appendText("\nExpected: ")
    016                           .appendDescriptionOf(matcher)
    017                           .appendText("\n     but: ");
    018                matcher.describeMismatch(actual, description);
    019
    020                throw new AssertionError(description.toString());
    021            }
    022        }
    023
    024        public static void assertThat(String reason, boolean assertion) {
    025            if (!assertion) {
    026                throw new AssertionError(reason);
    027            }
    028        }
    029    }