@Override
public void setFailureInfo(String message, String[] stackTrace, boolean error, Diff diff) {
Parameters.notNull("message", message);
Parameters.notNull("stackTrace", stackTrace);
Parameters.notNull("diff", diff);
testSuite.checkFrozen();
Trouble trouble = new Trouble(error);
trouble.setStackTrace(createStackTrace(message, stackTrace));
if (diff.isValid()) {
Trouble.ComparisonFailure failure = new Trouble.ComparisonFailure(diff.getExpected(), diff.getActual());
trouble.setComparisonFailure(failure);
}
testCase.setTrouble(trouble);
Manager manager = testSuite.getTestSession().getManager();
TestSession session = testSuite.getTestSession().getTestSession();
manager.displayOutput(session, getClassName() + "::" + testCase.getName() + "()", error);
manager.displayOutput(session, message, error);
testCase.addOutputLines(Collections.singletonList("<u>" + testCase.getName() + ":</u>"));
for (String s : stackTrace) {
manager.displayOutput(session, s, error);
testCase.addOutputLines(Collections.singletonList(s.replace("<", "<")));
}
manager.displayOutput(session, "", false);
}