Class AnyOf<T>

java.lang.Object
org.hamcrest.BaseMatcher<T>
org.hamcrest.core.AnyOf<T>
Type Parameters:
T - the matched value type
All Implemented Interfaces:
Matcher<T>, SelfDescribing

public class AnyOf<T> extends BaseMatcher<T>
Calculates the logical disjunction of multiple matchers. Evaluation is shortcut, so subsequent matchers are not called if an earlier matcher returns true.
  • Constructor Details

  • Method Details

    • matches

      public boolean matches(Object o)
      Description copied from interface: Matcher
      Evaluates the matcher for argument item. This method matches against Object, instead of the generic type T. This is because the caller of the Matcher does not know at runtime what the type is (because of type erasure with Java generics). It is down to the implementations to check the correct type.
      Specified by:
      matches in interface Matcher<T>
      Parameters:
      o - the object against which the matcher is evaluated.
      Returns:
      true if item matches, otherwise false.
      See Also:
    • describeTo

      public void describeTo(Description description)
      Description copied from interface: SelfDescribing
      Generates a description of the object. The description may be part of a description of a larger object of which this is just a component, so it should be worded appropriately.
      Specified by:
      describeTo in interface SelfDescribing
      Parameters:
      description - The description to be built or appended to.
    • anyOf

      public static <T> AnyOf<T> anyOf(Iterable<Matcher<? super T>> matchers)
      Creates a matcher that matches if the examined object matches ANY of the specified matchers. For example:
      assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))
      Type Parameters:
      T - the matcher type.
      Parameters:
      matchers - any the matchers must pass.
      Returns:
      The matcher.
    • anyOf

      @SafeVarargs public static <T> AnyOf<T> anyOf(Matcher<? super T>... matchers)
      Creates a matcher that matches if the examined object matches ANY of the specified matchers. For example:
      assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))
      Type Parameters:
      T - the matcher type.
      Parameters:
      matchers - any the matchers must pass.
      Returns:
      The matcher.
    • matches

      protected boolean matches(Object o, boolean shortcut)
      Evaluates the argument o against the delegate matchers. Evaluation will stop at the first matcher that evaluates to the value of the shortcut argument.
      Parameters:
      o - the value to check
      shortcut - the match result to be checked against all delegate matchers
      Returns:
      the value of shortcut if all delegate matchers give the same value
    • describeTo

      public void describeTo(Description description, String operator)
      Describe this matcher to description
      Parameters:
      description - the description target
      operator - the separate to use when joining the matcher descriptions