Class IsIterableContainingInAnyOrder<T>

    • Constructor Detail

      • IsIterableContainingInAnyOrder

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

      • matchesSafely

        protected boolean matchesSafely​(java.lang.Iterable<? extends T> items,
                                        Description mismatchDescription)
        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 class TypeSafeDiagnosingMatcher<java.lang.Iterable<? extends T>>
      • 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.
      • containsInAnyOrder

        @Deprecated
        public static <E> Matcher<java.lang.Iterable<? extends E>> containsInAnyOrder​(Matcher<? super E> itemMatcher)
        Deprecated.
        use contains(Matcher itemMatcher) instead
        Creates a matcher for Iterables that matches when a single pass over the examined Iterable yields a single item that satisfies the specified matcher. For a positive match, the examined iterable must only yield one item.

        For example:

        assertThat(Arrays.asList("foo"), containsInAnyOrder(equalTo("foo")))
        Parameters:
        itemMatcher - the matcher that must be satisfied by the single item provided by an examined Iterable
      • containsInAnyOrder

        public static <T> Matcher<java.lang.Iterable<? extends T>> containsInAnyOrder​(Matcher<? super T>... itemMatchers)
        Creates an order agnostic matcher for Iterables that matches when a single pass over the examined Iterable 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")))
        Parameters:
        itemMatchers - a list of matchers, each of which must be satisfied by an item provided by an examined Iterable
      • containsInAnyOrder

        public static <T> Matcher<java.lang.Iterable<? extends T>> containsInAnyOrder​(T... items)
        Creates an order agnostic matcher for Iterables that matches when a single pass over the examined Iterable 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"))
        Parameters:
        items - the items that must equal the items provided by an examined Iterable in any order
      • containsInAnyOrder

        public static <T> Matcher<java.lang.Iterable<? extends T>> containsInAnyOrder​(java.util.Collection<Matcher<? super T>> itemMatchers)
        Creates an order agnostic matcher for Iterables that matches when a single pass over the examined Iterable 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"))))
        Parameters:
        itemMatchers - a list of matchers, each of which must be satisfied by an item provided by an examined Iterable