Open Source Repository

Home /junit/junit-4.8.2 | Repository Home


junit/framework/ComparisonFailure.java
package junit.framework;

/**
 * Thrown when an assert equals for Strings failed.
 
 * Inspired by a patch from Alex Chaffee mailto:[email protected]
 */
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;
  }
}