org.fest.assertions.internal
Class Failures

java.lang.Object
  extended by org.fest.assertions.internal.Failures

public class Failures
extends Object

Failure actions.

Author:
Yvonne Wang, Alex Ruiz

Method Summary
 AssertionError failure(AssertionInfo info, AssertionErrorFactory factory)
          Creates a AssertionError following this pattern: creates a AssertionError using AssertionInfo.overridingErrorMessage() as the error message if such value is not null, or uses the given AssertionErrorFactory to create an AssertionError, prepending the value of AssertionInfo.description() to the error message
 AssertionError failure(AssertionInfo info, ErrorMessageFactory message)
          Creates a AssertionError following this pattern: creates a AssertionError using AssertionInfo.overridingErrorMessage() as the error message if such value is not null, or uses the given ErrorMessageFactory to create the detail message of the AssertionError, prepending the value of AssertionInfo.description() to the error message
 AssertionError failure(String message)
          Creates a AssertionError using the given String as message.
static Failures instance()
          Returns the singleton instance of this class.
 void removeFestRelatedElementsFromStackTraceIfNeeded(AssertionError assertionError)
          If is removeFestRelatedElementsFromStackTrace is true, it filters the stack trace of the given AssertionError by removing stack trace elements related to Fest in order to get a more readable stack trace.
 void setRemoveFestRelatedElementsFromStackTrace(boolean removeFestRelatedElementsFromStackTrace)
          Sets wether we remove elements related to Fest from assertion error stack trace.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

instance

public static Failures instance()
Returns the singleton instance of this class.

Returns:
the singleton instance of this class.

setRemoveFestRelatedElementsFromStackTrace

public void setRemoveFestRelatedElementsFromStackTrace(boolean removeFestRelatedElementsFromStackTrace)
Sets wether we remove elements related to Fest from assertion error stack trace.

Parameters:
removeFestRelatedElementsFromStackTrace - flag

failure

public AssertionError failure(AssertionInfo info,
                              AssertionErrorFactory factory)
Creates a AssertionError following this pattern:
  1. creates a AssertionError using AssertionInfo.overridingErrorMessage() as the error message if such value is not null, or
  2. uses the given AssertionErrorFactory to create an AssertionError, prepending the value of AssertionInfo.description() to the error message

Parameters:
info - contains information about the failed assertion.
factory - knows how to create AssertionErrors.
Returns:
the created AssertionError.

failure

public AssertionError failure(AssertionInfo info,
                              ErrorMessageFactory message)
Creates a AssertionError following this pattern:
  1. creates a AssertionError using AssertionInfo.overridingErrorMessage() as the error message if such value is not null, or
  2. uses the given ErrorMessageFactory to create the detail message of the AssertionError, prepending the value of AssertionInfo.description() to the error message

Parameters:
info - contains information about the failed assertion.
message - knows how to create detail messages for AssertionErrors.
Returns:
the created AssertionError.

failure

public AssertionError failure(String message)
Creates a AssertionError using the given String as message.

It filters the AssertionError stack trace be default, to have full stack trace use setRemoveFestRelatedElementsFromStackTrace(boolean).

Parameters:
message - the message of the AssertionError to create.
Returns:
the created AssertionError.

removeFestRelatedElementsFromStackTraceIfNeeded

public void removeFestRelatedElementsFromStackTraceIfNeeded(AssertionError assertionError)
If is removeFestRelatedElementsFromStackTrace is true, it filters the stack trace of the given AssertionError by removing stack trace elements related to Fest in order to get a more readable stack trace.

See example below :

--------------- stack trace not filtered -----------------
org.junit.ComparisonFailure: expected:<'[Ronaldo]'> but was:<'[Messi]'>
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
  at org.fest.assertions.error.ConstructorInvoker.newInstance(ConstructorInvoker.java:34)
  at org.fest.assertions.error.ShouldBeEqual.newComparisonFailure(ShouldBeEqual.java:111)
  at org.fest.assertions.error.ShouldBeEqual.comparisonFailure(ShouldBeEqual.java:103)
  at org.fest.assertions.error.ShouldBeEqual.newAssertionError(ShouldBeEqual.java:81)
  at org.fest.assertions.internal.Failures.failure(Failures.java:76)
  at org.fest.assertions.internal.Objects.assertEqual(Objects.java:116)
  at org.fest.assertions.api.AbstractAssert.isEqualTo(AbstractAssert.java:74)
  at examples.StackTraceFilterExample.main(StackTraceFilterExample.java:13)

--------------- stack trace filtered -----------------
org.junit.ComparisonFailure: expected:<'[Ronaldo]'> but was:<'[Messi]'>
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at examples.StackTraceFilterExample.main(StackTraceFilterExample.java:20)
 
Method is public because we need to call it from ShouldBeEqual.newAssertionError(org.fest.assertions.description.Description) that is building a junit ComparisonFailure by reflection.

Parameters:
assertionError - the AssertionError to filter stack trace if option is set.


Copyright © 2007-2012 FEST (Fixtures for Easy Software Testing). All Rights Reserved.