org.hamcrest.core
Class IsCollectionContaining<T>

java.lang.Object
  extended by org.hamcrest.BaseMatcher<T>
      extended by org.hamcrest.TypeSafeDiagnosingMatcher<java.lang.Iterable<? super T>>
          extended by org.hamcrest.core.IsCollectionContaining<T>
All Implemented Interfaces:
Matcher<java.lang.Iterable<? super T>>, SelfDescribing

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


Constructor Summary
IsCollectionContaining(Matcher<? super T> elementMatcher)
           
 
Method Summary
 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 Iterables 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 Iterables 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 Iterables 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 Iterables 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_, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IsCollectionContaining

public IsCollectionContaining(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 Iterables 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 Iterables 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

public static <T> Matcher<java.lang.Iterable<T>> hasItems(Matcher<? super T>... itemMatchers)
Creates a matcher for Iterables 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

public static <T> Matcher<java.lang.Iterable<T>> hasItems(T... items)
Creates a matcher for Iterables 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