Class Matchers

java.lang.Object
org.axonframework.test.matchers.Matchers

public abstract class Matchers extends Object
Utility class containing static methods to obtain instances of (list) Matchers.
Since:
1.1
Author:
Allard Buijze
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T> org.hamcrest.Matcher<T>
    Returns a Matcher that matches against null or void.
    static <T> org.hamcrest.Matcher<T>
    deepEquals(T expected)
    Constructs a deep equals Matcher.
    static <T> org.hamcrest.Matcher<T>
    deepEquals(T expected, FieldFilter filter)
    Constructs a deep equals Matcher.
    static <T> org.hamcrest.Matcher<T>
    exactClassOf(Class<T> expected)
    Returns a Matcher that matches with exact class type defined by the given expected.
    static <T> org.hamcrest.Matcher<List<T>>
    exactSequenceOf(org.hamcrest.Matcher<T>... matchers)
    Returns a Matcher that matches a list of items of type T if each of the given matchers matches against the item at the respective index in the list.
    static <T> org.hamcrest.Matcher<List<T>>
    listWithAllOf(org.hamcrest.Matcher<T>... matchers)
    Returns a Matcher that matches a List where all the given matchers must match with at least one of the items in that list.
    static <T> org.hamcrest.Matcher<List<T>>
    listWithAnyOf(org.hamcrest.Matcher<T>... matchers)
    Returns a Matcher that matches a list of items of type T where at least one of the given matchers matches any of the items in that list.
    static <T> org.hamcrest.Matcher<T>
    matches(Predicate<T> predicate)
    Returns a Matcher that matches with values of type T defined by the given predicate.
    static <T extends Message>
    org.hamcrest.Matcher<T>
    messageWithPayload(org.hamcrest.Matcher<?> payloadMatcher)
    Returns a Matcher that matches a single Message if the given payloadMatcher matches that message's payload.
    static org.hamcrest.Matcher<List<CommandMessage>>
    Returns a Matcher that matches an empty List of command.
    static org.hamcrest.Matcher<List<EventMessage>>
    Returns a Matcher that matches an empty List of events.
    static <T> org.hamcrest.Matcher<T>
    Returns a Matcher that matches against null or void.
    static org.hamcrest.Matcher<List<? extends Message>>
    payloadsMatching(org.hamcrest.Matcher<? extends List<?>> matcher)
    Returns a Matcher that matches a list of Message if a list containing their respective payloads matches the given matcher.
    static <T> org.hamcrest.Matcher<T>
    predicate(Predicate<T> predicate)
    Returns a Matcher that matches with values of type T defined by the given predicate.
    static <T> org.hamcrest.Matcher<List<T>>
    sequenceOf(org.hamcrest.Matcher<T>... matchers)
    Returns a Matcher that matches a list of items of type T if each of the matchers match against an item that comes after the item that the previous matcher matched against.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • payloadsMatching

      public static org.hamcrest.Matcher<List<? extends Message>> payloadsMatching(org.hamcrest.Matcher<? extends List<?>> matcher)
      Returns a Matcher that matches a list of Message if a list containing their respective payloads matches the given matcher.
      Parameters:
      matcher - The matcher to match against Message's payload.
      Returns:
      A matcher that matches against the Message payloads.
    • messageWithPayload

      public static <T extends Message> org.hamcrest.Matcher<T> messageWithPayload(org.hamcrest.Matcher<?> payloadMatcher)
      Returns a Matcher that matches a single Message if the given payloadMatcher matches that message's payload.
      Type Parameters:
      T - The generic type of Message matched on by the resulting payload matcher.
      Parameters:
      payloadMatcher - The matcher to match against the Message's payload.
      Returns:
      A matcher that evaluates a the Message payload.
    • listWithAllOf

      @SafeVarargs public static <T> org.hamcrest.Matcher<List<T>> listWithAllOf(org.hamcrest.Matcher<T>... matchers)
      Returns a Matcher that matches a List where all the given matchers must match with at least one of the items in that list.
      Type Parameters:
      T - The generic item type matched by the given matchers.
      Parameters:
      matchers - the matchers that should match against one of the items in the List.
      Returns:
      A matcher that matches a number of matchers against a list.
    • listWithAnyOf

      @SafeVarargs public static <T> org.hamcrest.Matcher<List<T>> listWithAnyOf(org.hamcrest.Matcher<T>... matchers)
      Returns a Matcher that matches a list of items of type T where at least one of the given matchers matches any of the items in that list.
      Type Parameters:
      T - The generic item type matched by the given matchers.
      Parameters:
      matchers - The matchers that should match against one of the items of type T in the list.
      Returns:
      A matcher that matches a number of generic-type-matchers against a list of objects.
    • sequenceOf

      @SafeVarargs public static <T> org.hamcrest.Matcher<List<T>> sequenceOf(org.hamcrest.Matcher<T>... matchers)
      Returns a Matcher that matches a list of items of type T if each of the matchers match against an item that comes after the item that the previous matcher matched against.

      This means that the given matchers must match in order, but there may be "gaps" of unmatched items in between. To match the exact sequence of items (i.e. without gaps), use exactSequenceOf(org.hamcrest.Matcher[]).

      Type Parameters:
      T - The generic item type matched by the given matchers.
      Parameters:
      matchers - The matchers to match against the list of items of type T.
      Returns:
      A matcher that matches a number of item-matchers against a list of items of type T.
    • exactSequenceOf

      @SafeVarargs public static <T> org.hamcrest.Matcher<List<T>> exactSequenceOf(org.hamcrest.Matcher<T>... matchers)
      Returns a Matcher that matches a list of items of type T if each of the given matchers matches against the item at the respective index in the list.

      This means the first matcher must match the first item, the second matcher the second item, and so on. Any excess items are ignored. If there are excess Matchers, they will be evaluated against null. To make sure the number of items matches the number of Matchers, you can append an extra andNoMore() matcher.

      To allow "gaps" of unmatched items, use sequenceOf(org.hamcrest.Matcher[]) instead.

      Type Parameters:
      T - The generic item type matched by the given matchers.
      Parameters:
      matchers - The matchers to match against the list of items of type T.
      Returns:
      A matcher that matches a number of item-matchers against a list of items of type T.
    • matches

      public static <T> org.hamcrest.Matcher<T> matches(Predicate<T> predicate)
      Returns a Matcher that matches with values of type T defined by the given predicate.

      This method is a synonym for predicate(Predicate) to allow for better readability.

      Type Parameters:
      T - The generic item type verified by the given predicate.
      Parameters:
      predicate - The predicate defining matching values.
      Returns:
      A matcher that matches against values of type T defined by the predicate.
    • predicate

      public static <T> org.hamcrest.Matcher<T> predicate(Predicate<T> predicate)
      Returns a Matcher that matches with values of type T defined by the given predicate.

      This method is a synonym for matches(Predicate) to allow for better readability.

      Type Parameters:
      T - The generic item type verified by the given predicate.
      Parameters:
      predicate - The predicate defining matching values
      Returns:
      A matcher that matches against values of type T defined by the predicate.
    • noEvents

      public static org.hamcrest.Matcher<List<EventMessage>> noEvents()
      Returns a Matcher that matches an empty List of events.
      Returns:
      A matcher that matches an empty List of events.
    • noCommands

      public static org.hamcrest.Matcher<List<CommandMessage>> noCommands()
      Returns a Matcher that matches an empty List of command.
      Returns:
      A matcher that matches an empty List of command.
    • exactClassOf

      public static <T> org.hamcrest.Matcher<T> exactClassOf(Class<T> expected)
      Returns a Matcher that matches with exact class type defined by the given expected.
      Type Parameters:
      T - The object type to match the given expected class with.
      Parameters:
      expected - The expected class.
      Returns:
      A matcher that matches based on the expected class.
    • deepEquals

      public static <T> org.hamcrest.Matcher<T> deepEquals(T expected)
      Constructs a deep equals Matcher.

      This Matcher will first perform a regular equals check based on the given expected and actual (provided during the Matcher.matches(Object) invocation). If this fails and given type does not override Object.equals(Object), this Matcher will match the fields of the given expected and actual.

      Type Parameters:
      T - The type of the expected object to match against.
      Parameters:
      expected - The object to match against.
      Returns:
      A matcher matching on Object.equals(Object) firstly, followed by field value equality if equals isn't implemented.
    • deepEquals

      public static <T> org.hamcrest.Matcher<T> deepEquals(T expected, FieldFilter filter)
      Constructs a deep equals Matcher.

      This Matcher will first perform a regular equals check based on the given expected and actual (provided during the Matcher.matches(Object) invocation). If this fails and given type does not override Object.equals(Object), this Matcher will match the fields of the given expected and actual. Fields can be in- or excluded for this last step through the filter.

      Type Parameters:
      T - The type of the expected object to match against.
      Parameters:
      expected - The object to match against.
      filter - The filter describing the Fields to include in the comparison.
      Returns:
      A matcher matching on Object.equals(Object) firstly, followed by field value equality if equals isn't implemented.
    • andNoMore

      public static <T> org.hamcrest.Matcher<T> andNoMore()
      Returns a Matcher that matches against null or void.

      Can be used to make sure no trailing items remain when using an exact sequence matcher.

      Type Parameters:
      T - The type of the object to match against.
      Returns:
      A matcher that matches against "nothing".
    • nothing

      public static <T> org.hamcrest.Matcher<T> nothing()
      Returns a Matcher that matches against null or void.

      Can be used to make sure no trailing items remain when using an exact sequence matcher.

      Type Parameters:
      T - The type of the object to match against.
      Returns:
      A matcher that matches against "nothing".