Class IsIterableContainingInAnyOrder<T>
- Type Parameters:
T
- the type of items in the iterable.
- All Implemented Interfaces:
Matcher<Iterable<? extends T>>
,SelfDescribing
-
Constructor Summary
ConstructorDescriptionIsIterableContainingInAnyOrder
(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) void
describeTo
(Description description) Generates a description of the object.protected boolean
matchesSafely
(Iterable<? extends T> items, 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
-
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: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 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:SelfDescribing
Generates 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
Iterable
s that matches when a single pass over the examinedIterable
yields 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
Iterable
s that matches when a single pass over the examinedIterable
yields 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 examinedIterable
in 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
Iterable
s that matches when a single pass over the examinedIterable
yields 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.
-