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. | |
*/ | |
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; | |
} | |
} |