diff options
Diffstat (limited to 'src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java')
-rw-r--r-- | src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java b/src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java deleted file mode 100644 index 5d45ba3..0000000 --- a/src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.junit.internal.matchers; - -import java.io.PrintWriter; -import java.io.StringWriter; - -import org.hamcrest.Description; -import org.hamcrest.Factory; -import org.hamcrest.Matcher; - -/** - * A matcher that delegates to throwableMatcher and in addition appends the - * stacktrace of the actual Throwable in case of a mismatch. - */ -public class StacktracePrintingMatcher<T extends Throwable> extends - org.hamcrest.TypeSafeMatcher<T> { - - private final Matcher<T> throwableMatcher; - - public StacktracePrintingMatcher(Matcher<T> throwableMatcher) { - this.throwableMatcher = throwableMatcher; - } - - public void describeTo(Description description) { - throwableMatcher.describeTo(description); - } - - @Override - protected boolean matchesSafely(T item) { - return throwableMatcher.matches(item); - } - - @Override - protected void describeMismatchSafely(T item, Description description) { - throwableMatcher.describeMismatch(item, description); - description.appendText("\nStacktrace was: "); - description.appendText(readStacktrace(item)); - } - - private String readStacktrace(Throwable throwable) { - StringWriter stringWriter = new StringWriter(); - throwable.printStackTrace(new PrintWriter(stringWriter)); - return stringWriter.toString(); - } - - @Factory - public static <T extends Throwable> Matcher<T> isThrowable( - Matcher<T> throwableMatcher) { - return new StacktracePrintingMatcher<T>(throwableMatcher); - } - - @Factory - public static <T extends Exception> Matcher<T> isException( - Matcher<T> exceptionMatcher) { - return new StacktracePrintingMatcher<T>(exceptionMatcher); - } -} |