| package junit.framework; |
| |
| import java.io.PrintWriter; |
| import java.io.StringWriter; |
| |
| |
| /** |
| * A <code>TestFailure</code> collects a failed test together with |
| * the caught exception. |
| * @see TestResult |
| */ |
| public class TestFailure extends Object { |
| protected Test fFailedTest; |
| protected Throwable fThrownException; |
| |
| |
| /** |
| * Constructs a TestFailure with the given test and exception. |
| */ |
| public TestFailure(Test failedTest, Throwable thrownException) { |
| fFailedTest= failedTest; |
| fThrownException= thrownException; |
| } |
| /** |
| * Gets the failed test. |
| */ |
| public Test failedTest() { |
| return fFailedTest; |
| } |
| /** |
| * Gets the thrown exception. |
| */ |
| public Throwable thrownException() { |
| return fThrownException; |
| } |
| /** |
| * Returns a short description of the failure. |
| */ |
| @Override |
| public String toString() { |
| StringBuffer buffer= new StringBuffer(); |
| buffer.append(fFailedTest+": "+fThrownException.getMessage()); |
| return buffer.toString(); |
| } |
| public String trace() { |
| StringWriter stringWriter= new StringWriter(); |
| PrintWriter writer= new PrintWriter(stringWriter); |
| thrownException().printStackTrace(writer); |
| StringBuffer buffer= stringWriter.getBuffer(); |
| return buffer.toString(); |
| } |
| public String exceptionMessage() { |
| return thrownException().getMessage(); |
| } |
| public boolean isFailure() { |
| return thrownException() instanceof AssertionFailedError; |
| } |
| } |