Beispiel #1
0
 public AssertionError failureIfErrorMessageIsOverridden(AssertionInfo info) {
   String overridingErrorMessage = info.overridingErrorMessage();
   return isNullOrEmpty(overridingErrorMessage)
       ? null
       : failure(
           MessageFormatter.instance()
               .format(info.description(), info.representation(), overridingErrorMessage));
 }
Beispiel #2
0
 /**
  * Creates a <code>{@link AssertionError}</code> following this pattern:
  *
  * <ol>
  *   <li>creates a <code>{@link AssertionError}</code> using <code>
  *       {@link AssertionInfo#overridingErrorMessage()}</code> as the error message if such value
  *       is not {@code null}, or
  *   <li>uses the given <code>{@link ErrorMessageFactory}</code> to create the detail message of
  *       the <code>{@link AssertionError}</code>, prepending the value of <code>
  *       {@link AssertionInfo#description()}</code> to the error message
  * </ol>
  *
  * @param info contains information about the failed assertion.
  * @param message knows how to create detail messages for {@code AssertionError}s.
  * @return the created <code>{@link AssertionError}</code>.
  */
 public AssertionError failure(AssertionInfo info, ErrorMessageFactory message) {
   AssertionError error = failureIfErrorMessageIsOverridden(info);
   if (error != null) return error;
   AssertionError assertionError =
       new AssertionError(message.create(info.description(), info.representation()));
   removeAssertJRelatedElementsFromStackTraceIfNeeded(assertionError);
   printThreadDumpIfNeeded();
   return assertionError;
 }
Beispiel #3
0
 /**
  * Creates a <code>{@link AssertionError}</code> following this pattern:
  *
  * <ol>
  *   <li>creates a <code>{@link AssertionError}</code> using <code>
  *       {@link AssertionInfo#overridingErrorMessage()}</code> as the error message if such value
  *       is not {@code null}, or
  *   <li>uses the given <code>{@link AssertionErrorFactory}</code> to create an <code>
  *       {@link AssertionError}</code>, prepending the value of <code>
  *       {@link AssertionInfo#description()}</code> to the error message
  * </ol>
  *
  * @param info contains information about the failed assertion.
  * @param factory knows how to create {@code AssertionError}s.
  * @return the created <code>{@link AssertionError}</code>.
  */
 public AssertionError failure(AssertionInfo info, AssertionErrorFactory factory) {
   AssertionError error = failureIfErrorMessageIsOverridden(info);
   if (error != null) return error;
   printThreadDumpIfNeeded();
   return factory.newAssertionError(info.description(), info.representation());
 }