org.hamcrest.collection
Class IsArrayContainingInAnyOrder<E>

java.lang.Object
  extended by org.hamcrest.BaseMatcher<T>
      extended by org.hamcrest.TypeSafeMatcher<E[]>
          extended by org.hamcrest.collection.IsArrayContainingInAnyOrder<E>
All Implemented Interfaces:
Matcher<E[]>, SelfDescribing

public class IsArrayContainingInAnyOrder<E>
extends TypeSafeMatcher<E[]>


Constructor Summary
IsArrayContainingInAnyOrder(java.util.Collection<Matcher<? super E>> matchers)
           
 
Method Summary
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.
 void describeMismatchSafely(E[] item, Description mismatchDescription)
          Subclasses should override this.
 void describeTo(Description description)
          Generates a description of the object.
 boolean matchesSafely(E[] item)
          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

IsArrayContainingInAnyOrder

public IsArrayContainingInAnyOrder(java.util.Collection<Matcher<? super E>> matchers)
Method Detail

matchesSafely

public boolean matchesSafely(E[] item)
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<E[]>

describeMismatchSafely

public void describeMismatchSafely(E[] 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<E[]>

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.

arrayContainingInAnyOrder

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

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