public class ArrayMatching
extends java.lang.Object
Constructor and Description |
---|
ArrayMatching() |
Modifier and Type | Method and Description |
---|---|
static <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(java.util.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(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.
|
static <E> java.util.List<Matcher<? super E>> |
asEqualMatchers(E[] items) |
static <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 specified
elementMatcher . |
static <T> Matcher<T[]> |
hasItemInArray(T element)
A shortcut to the frequently used
hasItemInArray(equalTo(x)) . |
public static <T> Matcher<T[]> hasItemInArray(Matcher<? super T> elementMatcher)
elementMatcher
. 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")))
elementMatcher
- the matcher to apply to elements in examined arrayspublic static <T> Matcher<T[]> hasItemInArray(T element)
hasItemInArray(equalTo(x))
.
For example:
assertThat(hasItemInArray(x))instead of:
assertThat(hasItemInArray(equalTo(x)))
element
- the element that should be present in examined arrays@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")))
itemMatchers
- a list of matchers, each of which must be satisfied by an entry in an examined arraypublic 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"))))
itemMatchers
- a list of matchers, each of which must be satisfied by an item provided by an examined array@SafeVarargs 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"))
items
- the items that must equal the entries of an examined array, in any order@SafeVarargs public static <E> Matcher<E[]> arrayContaining(E... items)
assertThat(new String[]{"foo", "bar"}, contains("foo", "bar"))
items
- the items that must equal the items within an examined array@SafeVarargs public static <E> Matcher<E[]> arrayContaining(Matcher<? super E>... itemMatchers)
assertThat(new String[]{"foo", "bar"}, arrayContaining(equalTo("foo"), equalTo("bar")))
itemMatchers
- the matchers that must be satisfied by the items in the examined arraypublic static <E> Matcher<E[]> arrayContaining(java.util.List<Matcher<? super E>> itemMatchers)
assertThat(new String[]{"foo", "bar"}, arrayContaining(Arrays.asList(equalTo("foo"), equalTo("bar"))))
itemMatchers
- a list of matchers, each of which must be satisfied by the corresponding item in an examined arraypublic static <E> java.util.List<Matcher<? super E>> asEqualMatchers(E[] items)