1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage junit.framework; 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.PrintWriter; 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.StringWriter; 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * A <code>TestFailure</code> collects a failed test together with 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the caught exception. 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see TestResult 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class TestFailure extends Object { 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected Test fFailedTest; 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected Throwable fThrownException; 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Constructs a TestFailure with the given test and exception. 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public TestFailure(Test failedTest, Throwable thrownException) { 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fFailedTest= failedTest; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fThrownException= thrownException; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Gets the failed test. 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public Test failedTest() { 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return fFailedTest; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Gets the thrown exception. 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public Throwable thrownException() { 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return fThrownException; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Returns a short description of the failure. 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public String toString() { 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StringBuffer buffer= new StringBuffer(); 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project buffer.append(fFailedTest+": "+fThrownException.getMessage()); 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return buffer.toString(); 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public String trace() { 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StringWriter stringWriter= new StringWriter(); 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PrintWriter writer= new PrintWriter(stringWriter); 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project thrownException().printStackTrace(writer); 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project StringBuffer buffer= stringWriter.getBuffer(); 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return buffer.toString(); 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public String exceptionMessage() { 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return thrownException().getMessage(); 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public boolean isFailure() { 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return thrownException() instanceof AssertionFailedError; 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 58