ArrayMatching (Hamcrest 2.1 API)
Date: 2018-12-21

org.hamcrest.collection

## Class ArrayMatching

- java.lang.Object
- - org.hamcrest.collection.ArrayMatching

-     public class ArrayMatching
      extends java.lang.Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ArrayMatching()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <E> Matcher<E[]>` | `arrayContaining(E... items)` Creates a matcher for arrays that matches when each item in the examined array is logically equal to the corresponding item in the specified items.
    `static <E> Matcher<E[]>` | `arrayContaining(java.util.List<Matcher<? super E>> itemMatchers)` Creates a matcher for arrays that matches when each item in the examined array satisfies the corresponding matcher in the specified list of matchers.
    `static <E> Matcher<E[]>` | `arrayContaining(Matcher<? super E>... itemMatchers)` Creates a matcher for arrays that matches when each item in the examined array satisfies the corresponding matcher in the specified matchers.
    `static <E> Matcher<E[]>` | `arrayContainingInAnyOrder(java.util.Collection<Matcher<? super E>> itemMatchers)` Creates an order agnostic matcher for arrays that matches when each item in the examined array satisfies one matcher anywhere in the specified collection of matchers.
    `static <E> Matcher<E[]>` | `arrayContainingInAnyOrder(E... items)` Creates an order agnostic matcher for arrays that matches when each item in the examined array is logically equal to one item anywhere in the specified items.
    `static <E> Matcher<E[]>` | `arrayContainingInAnyOrder(Matcher<? super E>... itemMatchers)` Creates an order agnostic matcher for arrays that matches when each item in the examined array satisfies one matcher anywhere in the specified matchers.
    `static <E> java.util.List<Matcher<? super E>>` | `asEqualMatchers(E[] items)`
    `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`.
    `static <T> Matcher<T[]>` | `hasItemInArray(T element)` A shortcut to the frequently used `hasItemInArray(equalTo(x))`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ArrayMatching

          public ArrayMatching()

  - ### Method Detail

    - #### 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

    - #### arrayContainingInAnyOrder

          @SafeVarargs
          public static <E> Matcher<E[]> arrayContainingInAnyOrder(Matcher<? super E>... itemMatchers)

      Creates an order agnostic matcher for arrays that matches when each item in the examined array satisfies one matcher anywhere in the specified matchers. For a positive match, the examined array must be of the same length as the number of specified matchers.

      N.B. each of the specified matchers will only be used once during a given examination, so be careful when specifying matchers that may be satisfied by more than one entry in an examined array.

      For example:

          assertThat(new String[]{"foo", "bar"}, arrayContainingInAnyOrder(equalTo("bar"), equalTo("foo")))

      Parameters:
        `itemMatchers` - a list of matchers, each of which must be satisfied by an entry in an examined array

    - #### arrayContainingInAnyOrder

          public static <E> Matcher<E[]> arrayContainingInAnyOrder(java.util.Collection<Matcher<? super E>> itemMatchers)

      Creates an order agnostic matcher for arrays that matches when each item in the examined array satisfies one matcher anywhere in the specified collection of matchers. For a positive match, the examined array must be of the same length as the specified collection of matchers.

      N.B. each matcher in the specified collection will only be used once during a given examination, so be careful when specifying matchers that may be satisfied by more than one entry in an examined array.

      For example:

          assertThat(new String[]{"foo", "bar"}, arrayContainingInAnyOrder(Arrays.asList(equalTo("bar"), equalTo("foo"))))

      Parameters:
        `itemMatchers` - a list of matchers, each of which must be satisfied by an item provided by an examined array

    - #### arrayContainingInAnyOrder

          @SafeVarargs
          public static <E> Matcher<E[]> arrayContainingInAnyOrder(E... items)

      Creates an order agnostic matcher for arrays that matches when each item in the examined array is logically equal to one item anywhere in the specified items. For a positive match, the examined array must be of the same length as the number of specified items.

      N.B. each of the specified items will only be used once during a given examination, so be careful when specifying items that may be equal to more than one entry in an examined array.

      For example:

          assertThat(new String[]{"foo", "bar"}, containsInAnyOrder("bar", "foo"))

      Parameters:
        `items` - the items that must equal the entries of an examined array, in any order

    - #### arrayContaining

          @SafeVarargs
          public static <E> Matcher<E[]> arrayContaining(E... items)

      Creates a matcher for arrays that matches when each item in the examined array is logically equal to the corresponding item in the specified items. For a positive match, the examined array must be of the same length as the number of specified items. For example:

          assertThat(new String[]{"foo", "bar"}, contains("foo", "bar"))

      Parameters:
        `items` - the items that must equal the items within an examined array

    - #### arrayContaining

          @SafeVarargs
          public static <E> Matcher<E[]> arrayContaining(Matcher<? super E>... itemMatchers)

      Creates a matcher for arrays that matches when each item in the examined array satisfies the corresponding matcher in the specified matchers. For a positive match, the examined array must be of the same length as the number of specified matchers. For example:

          assertThat(new String[]{"foo", "bar"}, arrayContaining(equalTo("foo"), equalTo("bar")))

      Parameters:
        `itemMatchers` - the matchers that must be satisfied by the items in the examined array

    - #### arrayContaining

          public static <E> Matcher<E[]> arrayContaining(java.util.List<Matcher<? super E>> itemMatchers)

      Creates a matcher for arrays that matches when each item in the examined array satisfies the corresponding matcher in the specified list of matchers. For a positive match, the examined array must be of the same length as the specified list of matchers. For example:

          assertThat(new String[]{"foo", "bar"}, arrayContaining(Arrays.asList(equalTo("foo"), equalTo("bar"))))

      Parameters:
        `itemMatchers` - a list of matchers, each of which must be satisfied by the corresponding item in an examined array

    - #### asEqualMatchers

          public static <E> java.util.List<Matcher<? super E>> asEqualMatchers(E[] items)