Class FluentAssertion<R>

java.lang.Object
org.apache.juneau.assertions.Assertion
org.apache.juneau.assertions.FluentAssertion<R>
Type Parameters:
R - The return type.
Direct Known Subclasses:
FluentObjectAssertion

public abstract class FluentAssertion<R> extends Assertion
Parent class of all fluent assertion calls.

Defines a returns() method that returns an original object. Assertion test methods that pass use this method to return to the origin of the call.

Example:

// Create a basic REST client with JSON support and download a bean. MyPojo myPojo = ...; MyTestedBean myTestedBean = ...; Assertion assertion = new FluentBeanAssertion<MyPojo,MyTestedBean>(myPojo, myTestedBean); myPojo = assertion.test(x -> x.getMyProperty().equals("foo")); // Returns myPojo after test.

For subclasses such as IntegerAssertion, the return object is simply itself so that multiple tests can be performed using the same assertion.

Example:

public class IntegerAssertion extends FluentIntegerAssertion<IntegerAssertion> { ... } Assertion assertion = new IntegerAssertion(123); assertion .isNotNull() .isGt(100) ;

Test Methods:

  • None
Transform Methods:

  • None
Configuration Methods:

See Also:
  • Constructor Details

    • FluentAssertion

      protected FluentAssertion(Assertion creator, R returns)
      Constructor.
      Parameters:
      creator - The assertion that created this assertion.
      Should be null if this is the top-level assertion.
      returns - The object to return after a test method is called.
      If null, the test method returns this object allowing multiple test method calls to be used on the same assertion.
  • Method Details

    • setMsg

      public FluentAssertion<R> setMsg(String msg, Object... args)
      Description copied from class: Assertion
      Allows you to override the assertion failure message.

      String can contain "{msg}" to represent the original message.

      Example:

      import static org.apache.juneau.assertions.Assertions.*; // Throws an assertion with a custom message instead of the default "Value was null." assertString(myString) .setMsg("My string was bad: {msg}") .isNotNull();

      Overrides:
      setMsg in class Assertion
      Parameters:
      msg - The assertion failure message.
      args - Optional message arguments.
      Returns:
      This object.
    • setOut

      Description copied from class: Assertion
      If an error occurs, send the error message to the specified stream instead of STDERR.
      Overrides:
      setOut in class Assertion
      Parameters:
      value - The output stream. Can be null to suppress output.
      Returns:
      This object.
    • setSilent

      Description copied from class: Assertion
      Suppresses output to STDERR.

      This is the equivalent to calling out(null).

      Overrides:
      setSilent in class Assertion
      Returns:
      This object.
    • setStdOut

      Description copied from class: Assertion
      If an error occurs, send the error message to STDOUT instead of STDERR.
      Overrides:
      setStdOut in class Assertion
      Returns:
      This object.
    • setThrowable

      public FluentAssertion<R> setThrowable(Class<? extends RuntimeException> value)
      Description copied from class: Assertion
      If an error occurs, throw this exception instead of the standard AssertionError.

      The throwable class must have a public constructor that takes in any of the following parameters:

      • Throwable - The caused-by exception (if there is one).
      • String - The assertion failure message.

      If the throwable cannot be instantiated, a RuntimeException is thrown instead.

      Example:

      import static org.apache.juneau.assertions.Assertions.*; // Throws a BadRequest instead of an AssertionError if the string is null. assertString(myString) .setThrowable(BadRequest.class) .isNotNull();

      Overrides:
      setThrowable in class Assertion
      Parameters:
      value - The new value for this setting.
      Returns:
      This object.
    • returns

      protected R returns()
      Returns the object that the fluent methods on this class should return.
      Returns:
      The response object.