package junit.framework;
/**
* Thrown when an assert equals for Strings failed.
*
* Inspired by a patch from Alex Chaffee mailto:alex@purpletech.com
*/
public class ComparisonFailure extends AssertionFailedError {
private static final int MAX_CONTEXT_LENGTH= 20;
private static final long serialVersionUID= 1L;
private String fExpected;
private String fActual;
/**
* Constructs a comparison failure.
* @param message the identifying message or null
* @param expected the expected string value
* @param actual the actual string value
*/
public ComparisonFailure (String message, String expected, String actual) {
super (message);
fExpected= expected;
fActual= actual;
}
/**
* Returns "..." in place of common prefix and "..." in
* place of common suffix between expected and actual.
*
* @see Throwable#getMessage()
*/
@Override
public String getMessage() {
return new ComparisonCompactor(MAX_CONTEXT_LENGTH, fExpected, fActual).compact(super.getMessage());
}
/**
* Gets the actual string value
* @return the actual string value
*/
public String getActual() {
return fActual;
}
/**
* Gets the expected string value
* @return the expected string value
*/
public String getExpected() {
return fExpected;
}
}