org.hamcrest.collection
Class IsArrayContaining<T>

java.lang.Object
  extended by org.hamcrest.BaseMatcher<T>
      extended by org.hamcrest.TypeSafeMatcher<T[]>
          extended by org.hamcrest.collection.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 Summary
IsArrayContaining(Matcher<? super T> elementMatcher)
           
 
Method Summary
 void describeMismatchSafely(T[] item, Description mismatchDescription)
          Subclasses should override this.
 void describeTo(Description description)
          Generates a description of the object.
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)).
 boolean matchesSafely(T[] array)
          Subclasses should implement this.
 
Methods inherited from class org.hamcrest.TypeSafeMatcher
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

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