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 ofequalTomatchersstatic <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 ofequalTomatchers- Type Parameters:
E- type of array items- Parameters:
items- items to convert- Returns:
- list of corresponding
equaTomatchers
-