Class IsArrayContainingInAnyOrder<E>

    • Constructor Detail

      • IsArrayContainingInAnyOrder

        public IsArrayContainingInAnyOrder​(java.util.Collection<Matcher<? super E>> matchers)
    • Method Detail

      • matchesSafely

        public boolean matchesSafely​(E[] item)
        Description copied from class: TypeSafeMatcher
        Subclasses should implement this. The item will already have been checked for the specific type and will never be null.
        Specified by:
        matchesSafely in class TypeSafeMatcher<E[]>
      • describeMismatchSafely

        public void describeMismatchSafely​(E[] item,
                                           Description mismatchDescription)
        Description copied from class: TypeSafeMatcher
        Subclasses should override this. The item will already have been checked for the specific type and will never be null.
        Overrides:
        describeMismatchSafely in class TypeSafeMatcher<E[]>
      • describeTo

        public void describeTo​(Description description)
        Description copied from interface: SelfDescribing
        Generates a description of the object. The description may be part of a 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.
      • arrayContainingInAnyOrder

        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")))
        Parameters:
        itemMatchers - a list of matchers, each of which must be satisfied by an entry in an examined array
      • arrayContainingInAnyOrder

        public 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"))))
        Parameters:
        itemMatchers - a list of matchers, each of which must be satisfied by an item provided by an examined array
      • arrayContainingInAnyOrder

        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"))
        Parameters:
        items - the items that must equal the entries of an examined array, in any order