blob: 66433ef3e87bda66061b2f31a91d2fa4bf2558ef [file] [log] [blame]
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;
}
}