Class IsIterableContainingInAnyOrder<T>
- Type Parameters:
T- the type of items in the iterable.
- All Implemented Interfaces:
Matcher<Iterable<? extends T>>,SelfDescribing
-
Constructor Summary
ConstructorsConstructorDescriptionIsIterableContainingInAnyOrder(Collection<Matcher<? super T>> matchers) Constructor, best called from one of the static "containsInAnyOrder" factory methods. -
Method Summary
Modifier and TypeMethodDescriptioncontainsInAnyOrder(Collection<Matcher<? super T>> itemMatchers) containsInAnyOrder(Matcher<? super T>... itemMatchers) containsInAnyOrder(T... items) voiddescribeTo(Description description) Generates a description of the object.protected booleanmatchesSafely(Iterable<? extends T> items, Description mismatchDescription) Subclasses should implement this.Methods inherited from class org.hamcrest.TypeSafeDiagnosingMatcher
describeMismatch, matchesMethods inherited from class org.hamcrest.BaseMatcher
_dont_implement_Matcher___instead_extend_BaseMatcher_, isNotNull, toString
-
Constructor Details
-
IsIterableContainingInAnyOrder
Constructor, best called from one of the static "containsInAnyOrder" factory methods.- Parameters:
matchers- the matchers- See Also:
-
-
Method Details
-
matchesSafely
Description copied from class:TypeSafeDiagnosingMatcherSubclasses should implement this. The item will already have been checked for the specific type and will never be null.- Specified by:
matchesSafelyin classTypeSafeDiagnosingMatcher<Iterable<? extends T>>- Parameters:
items- the item.mismatchDescription- the mismatch description.- Returns:
- boolean true/false depending if item matches matcher.
-
describeTo
Description copied from interface:SelfDescribingGenerates a description of the object. The description may be part of 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.
-
containsInAnyOrder
@SafeVarargs public static <T> Matcher<Iterable<? extends T>> containsInAnyOrder(Matcher<? super T>... itemMatchers) Creates an order agnostic matcher for
Iterables that matches when a single pass over the examinedIterableyields a series of items, each satisfying one matcher anywhere in the specified matchers. For a positive match, the examined iterable 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 iterable.
For example:
assertThat(Arrays.asList("foo", "bar"), containsInAnyOrder(equalTo("bar"), equalTo("foo")))- Type Parameters:
T- the matcher type.- Parameters:
itemMatchers- a list of matchers, each of which must be satisfied by an item provided by an examinedIterable- Returns:
- The matcher.
-
containsInAnyOrder
Creates an order agnostic matcher for
Iterables that matches when a single pass over the examinedIterableyields a series of items, each logically equal to one item anywhere in the specified items. For a positive match, the examined iterable 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 iterable.
For example:
assertThat(Arrays.asList("foo", "bar"), containsInAnyOrder("bar", "foo"))- Type Parameters:
T- the matcher type.- Parameters:
items- the items that must equal the items provided by an examinedIterablein any order- Returns:
- The matcher.
-
containsInAnyOrder
public static <T> Matcher<Iterable<? extends T>> containsInAnyOrder(Collection<Matcher<? super T>> itemMatchers) Creates an order agnostic matcher for
Iterables that matches when a single pass over the examinedIterableyields a series of items, each satisfying one matcher anywhere in the specified collection of matchers. For a positive match, the examined iterable 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 iterable.
For example:
assertThat(Arrays.asList("foo", "bar"), containsInAnyOrder(Arrays.asList(equalTo("bar"), equalTo("foo"))))- Type Parameters:
T- the matcher type.- Parameters:
itemMatchers- a list of matchers, each of which must be satisfied by an item provided by an examinedIterable- Returns:
- The matcher.
-