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; } }