blob: 507799328a441243d1ed1291094448b9babc5782 [file] [log] [blame]
Paul Duffincd7c34d2016-12-12 16:35:36 +00001package 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 */
8public 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 * @param message the identifying message or null
18 * @param expected the expected string value
19 * @param actual the actual string value
20 */
21 public ComparisonFailure (String message, String expected, String actual) {
22 super (message);
23 fExpected= expected;
24 fActual= actual;
25 }
26
27 /**
28 * Returns "..." in place of common prefix and "..." in
29 * place of common suffix between expected and actual.
30 *
31 * @see Throwable#getMessage()
32 */
33 @Override
34 public String getMessage() {
35 return new ComparisonCompactor(MAX_CONTEXT_LENGTH, fExpected, fActual).compact(super.getMessage());
36 }
37
38 /**
39 * Gets the actual string value
40 * @return the actual string value
41 */
42 public String getActual() {
43 return fActual;
44 }
45 /**
46 * Gets the expected string value
47 * @return the expected string value
48 */
49 public String getExpected() {
50 return fExpected;
51 }
52}