• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package junit.framework;
2 
3 /**
4  * Thrown when an assert equals for Strings failed.
5  *
6  * Inspired by a patch from Alex Chaffee mailto:alex@purpletech.com
7  */
8 public class ComparisonFailure extends AssertionFailedError {
9     private static final int MAX_CONTEXT_LENGTH = 20;
10     private static final long serialVersionUID = 1L;
11 
12     private String fExpected;
13     private String fActual;
14 
15     /**
16      * Constructs a comparison failure.
17      *
18      * @param message the identifying message or null
19      * @param expected the expected string value
20      * @param actual the actual string value
21      */
ComparisonFailure(String message, String expected, String actual)22     public ComparisonFailure(String message, String expected, String actual) {
23         super(message);
24         fExpected = expected;
25         fActual = actual;
26     }
27 
28     /**
29      * Returns "..." in place of common prefix and "..." in
30      * place of common suffix between expected and actual.
31      *
32      * @see Throwable#getMessage()
33      */
34     @Override
getMessage()35     public String getMessage() {
36         return new ComparisonCompactor(MAX_CONTEXT_LENGTH, fExpected, fActual).compact(super.getMessage());
37     }
38 
39     /**
40      * Gets the actual string value
41      *
42      * @return the actual string value
43      */
getActual()44     public String getActual() {
45         return fActual;
46     }
47 
48     /**
49      * Gets the expected string value
50      *
51      * @return the expected string value
52      */
getExpected()53     public String getExpected() {
54         return fExpected;
55     }
56 }