Returns "..." in place of common prefix and "..." in
place of common suffix between expected and actual.
if (fExpected == null || fActual == null)
return Assert.format(super.getMessage(), fExpected, fActual);
int end= Math.min(fExpected.length(), fActual.length());
int i= 0;
for(; i < end; i++) {
if (fExpected.charAt(i) != fActual.charAt(i))
break;
}
int j= fExpected.length()-1;
int k= fActual.length()-1;
for (; k >= i && j >= i; k--,j--) {
if (fExpected.charAt(j) != fActual.charAt(k))
break;
}
String actual, expected;
// equal strings
if (j < i && k < i) {
expected= fExpected;
actual= fActual;
} else {
expected= fExpected.substring(i, j+1);
actual= fActual.substring(i, k+1);
if (i <= end && i > 0) {
expected= "..."+expected;
actual= "..."+actual;
}
if (j < fExpected.length()-1)
expected= expected+"...";
if (k < fActual.length()-1)
actual= actual+"...";
}
return Assert.format(super.getMessage(), expected, actual);