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

org.hamcrest.core

## Class IsIterableContaining<T>

- java.lang.Object
- - org.hamcrest.BaseMatcher<T>
  - - org.hamcrest.TypeSafeDiagnosingMatcher<java.lang.Iterable<? super T>>
    - - org.hamcrest.core.IsIterableContaining<T>

- All Implemented Interfaces:
    Matcher<java.lang.Iterable<? super T>>, SelfDescribing

      public class IsIterableContaining<T>
      extends TypeSafeDiagnosingMatcher<java.lang.Iterable<? super T>>

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IsIterableContaining(Matcher<? super T> elementMatcher)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `describeTo(Description description)` Generates a description of the object.
    `static <T> Matcher<java.lang.Iterable<? super T>>` | `hasItem(Matcher<? super T> itemMatcher)` Creates a matcher for `Iterable`s that only matches when a single pass over the examined `Iterable` yields at least one item that is matched by the specified `itemMatcher`.
    `static <T> Matcher<java.lang.Iterable<? super T>>` | `hasItem(T item)` Creates a matcher for `Iterable`s that only matches when a single pass over the examined `Iterable` yields at least one item that is equal to the specified `item`.
    `static <T> Matcher<java.lang.Iterable<T>>` | `hasItems(Matcher<? super T>... itemMatchers)` Creates a matcher for `Iterable`s that matches when consecutive passes over the examined `Iterable` yield at least one item that is matched by the corresponding matcher from the specified `itemMatchers`.
    `static <T> Matcher<java.lang.Iterable<T>>` | `hasItems(T... items)` Creates a matcher for `Iterable`s that matches when consecutive passes over the examined `Iterable` yield at least one item that is equal to the corresponding item from the specified `items`.
    `protected boolean` | `matchesSafely(java.lang.Iterable<? super T> collection, Description mismatchDescription)` Subclasses should implement this.

    - ### Methods inherited from class org.hamcrest.TypeSafeDiagnosingMatcher

      `describeMismatch, matches`

    - ### Methods inherited from class org.hamcrest.BaseMatcher

      `_dont_implement_Matcher___instead_extend_BaseMatcher_, isNotNull, toString`

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

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

- - ### Constructor Detail

    - #### IsIterableContaining

          public IsIterableContaining(Matcher<? super T> elementMatcher)

  - ### Method Detail

    - #### matchesSafely

          protected boolean matchesSafely(java.lang.Iterable<? super T> collection,
                                          Description mismatchDescription)

      Description copied from class: `TypeSafeDiagnosingMatcher`
      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 `TypeSafeDiagnosingMatcher<java.lang.Iterable<? super 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.

    - #### hasItem

          public static <T> Matcher<java.lang.Iterable<? super T>> hasItem(Matcher<? super T> itemMatcher)

      Creates a matcher for `Iterable`s that only matches when a single pass over the examined `Iterable` yields at least one item that is matched by the specified `itemMatcher`. Whilst matching, the traversal of the examined `Iterable` will stop as soon as a matching item is found. For example:

          assertThat(Arrays.asList("foo", "bar"), hasItem(startsWith("ba")))

      Parameters:
        `itemMatcher` - the matcher to apply to items provided by the examined `Iterable`

    - #### hasItem

          public static <T> Matcher<java.lang.Iterable<? super T>> hasItem(T item)

      Creates a matcher for `Iterable`s that only matches when a single pass over the examined `Iterable` yields at least one item that is equal to the specified `item`. Whilst matching, the traversal of the examined `Iterable` will stop as soon as a matching item is found. For example:

          assertThat(Arrays.asList("foo", "bar"), hasItem("bar"))

      Parameters:
        `item` - the item to compare against the items provided by the examined `Iterable`

    - #### hasItems

          @SafeVarargs
          public static <T> Matcher<java.lang.Iterable<T>> hasItems(Matcher<? super T>... itemMatchers)

      Creates a matcher for `Iterable`s that matches when consecutive passes over the examined `Iterable` yield at least one item that is matched by the corresponding matcher from the specified `itemMatchers`. Whilst matching, each traversal of the examined `Iterable` will stop as soon as a matching item is found. For example:

          assertThat(Arrays.asList("foo", "bar", "baz"), hasItems(endsWith("z"), endsWith("o")))

      Parameters:
        `itemMatchers` - the matchers to apply to items provided by the examined `Iterable`

    - #### hasItems

          @SafeVarargs
          public static <T> Matcher<java.lang.Iterable<T>> hasItems(T... items)

      Creates a matcher for `Iterable`s that matches when consecutive passes over the examined `Iterable` yield at least one item that is equal to the corresponding item from the specified `items`. Whilst matching, each traversal of the examined `Iterable` will stop as soon as a matching item is found. For example:

          assertThat(Arrays.asList("foo", "bar", "baz"), hasItems("baz", "foo"))

      Parameters:
        `items` - the items to compare against the items provided by the examined `Iterable`