Class ArrayMatching
-
Method Summary
Modifier and TypeMethodDescriptionstatic <E> Matcher
<E[]> arrayContaining
(E... items) Creates a matcher for arrays that matches when each item in the examined array is logically equal to the corresponding item in the specified items.static <E> Matcher
<E[]> arrayContaining
(List<Matcher<? super E>> itemMatchers) Creates a matcher for arrays that matches when each item in the examined array satisfies the corresponding matcher in the specified list of matchers.static <E> Matcher
<E[]> arrayContaining
(Matcher<? super E>... itemMatchers) Creates a matcher for arrays that matches when each item in the examined array satisfies the corresponding matcher in the specified 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
(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
(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.asEqualMatchers
(E[] items) Converts item array to corresponding array ofequalTo
matchersstatic <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 specifiedelementMatcher
.static <T> Matcher
<T[]> hasItemInArray
(T element) A shortcut to the frequently usedhasItemInArray(equalTo(x))
.
-
Method Details
-
hasItemInArray
Creates a matcher for arrays that matches when the examined array contains at least one item that is matched by the specifiedelementMatcher
. 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")))
- Type Parameters:
T
- the matcher type.- Parameters:
elementMatcher
- the matcher to apply to elements in examined arrays- Returns:
- The matcher.
-
hasItemInArray
A shortcut to the frequently usedhasItemInArray(equalTo(x))
. For example:assertThat(hasItemInArray(x))
instead of:assertThat(hasItemInArray(equalTo(x)))
- Type Parameters:
T
- the matcher type.- Parameters:
element
- the element that should be present in examined arrays- Returns:
- The matcher.
-
arrayContainingInAnyOrder
@SafeVarargs 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")))
- Type Parameters:
E
- the matcher type.- Parameters:
itemMatchers
- a list of matchers, each of which must be satisfied by an entry in an examined array- Returns:
- The matcher.
-
arrayContainingInAnyOrder
public static <E> Matcher<E[]> arrayContainingInAnyOrder(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"))))
- Type Parameters:
E
- the matcher type.- Parameters:
itemMatchers
- a list of matchers, each of which must be satisfied by an item provided by an examined array- Returns:
- The matcher.
-
arrayContainingInAnyOrder
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"))
- Type Parameters:
E
- the matcher type.- Parameters:
items
- the items that must equal the entries of an examined array, in any order- Returns:
- The matcher.
-
arrayContaining
Creates a matcher for arrays that matches when each item in the examined array is logically equal to the corresponding item in the specified items. For a positive match, the examined array must be of the same length as the number of specified items. For example:assertThat(new String[]{"foo", "bar"}, contains("foo", "bar"))
- Type Parameters:
E
- the matcher type.- Parameters:
items
- the items that must equal the items within an examined array- Returns:
- The matcher.
-
arrayContaining
Creates a matcher for arrays that matches when each item in the examined array satisfies the corresponding matcher in the specified matchers. For a positive match, the examined array must be of the same length as the number of specified matchers. For example:assertThat(new String[]{"foo", "bar"}, arrayContaining(equalTo("foo"), equalTo("bar")))
- Type Parameters:
E
- the matcher type.- Parameters:
itemMatchers
- the matchers that must be satisfied by the items in the examined array- Returns:
- The matcher.
-
arrayContaining
Creates a matcher for arrays that matches when each item in the examined array satisfies the corresponding matcher in the specified list of matchers. For a positive match, the examined array must be of the same length as the specified list of matchers. For example:assertThat(new String[]{"foo", "bar"}, arrayContaining(Arrays.asList(equalTo("foo"), equalTo("bar"))))
- Type Parameters:
E
- the matcher type.- Parameters:
itemMatchers
- a list of matchers, each of which must be satisfied by the corresponding item in an examined array- Returns:
- The matcher.
-
asEqualMatchers
Converts item array to corresponding array ofequalTo
matchers- Type Parameters:
E
- type of array items- Parameters:
items
- items to convert- Returns:
- list of corresponding
equaTo
matchers
-