Class IsArrayContaining<T>

  • All Implemented Interfaces:
    Matcher<T[]>, SelfDescribing

    public class IsArrayContaining<T>
    extends TypeSafeMatcher<T[]>
    Matches if an array contains an item satisfying a nested matcher.
    • Constructor Detail

      • IsArrayContaining

        public IsArrayContaining​(Matcher<? super T> elementMatcher)
    • Method Detail

      • matchesSafely

        public boolean matchesSafely​(T[] array)
        Description copied from class: TypeSafeMatcher
        Subclasses should implement this. The item will already have been checked for the specific type and will never be null.
        Specified by:
        matchesSafely in class TypeSafeMatcher<T[]>
      • describeMismatchSafely

        public void describeMismatchSafely​(T[] item,
                                           Description mismatchDescription)
        Description copied from class: TypeSafeMatcher
        Subclasses should override this. The item will already have been checked for the specific type and will never be null.
        Overrides:
        describeMismatchSafely in class TypeSafeMatcher<T[]>
      • describeTo

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

        public static <T> Matcher<T[]> hasItemInArray​(Matcher<? super T> elementMatcher)
        Creates a matcher for arrays that matches when the examined array contains at least one item that is matched by the specified elementMatcher. Whilst matching, the traversal of the examined array will stop as soon as a matching element is found.

        For example:

        assertThat(new String[] {"foo", "bar"}, hasItemInArray(startsWith("ba")))
        Parameters:
        elementMatcher - the matcher to apply to elements in examined arrays
      • hasItemInArray

        public static <T> Matcher<T[]> hasItemInArray​(T element)
        A shortcut to the frequently used hasItemInArray(equalTo(x)).

        For example:

        assertThat(hasItemInArray(x))
        instead of:
        assertThat(hasItemInArray(equalTo(x)))
        Parameters:
        element - the element that should be present in examined arrays