Class IsIterableContainingInAnyOrder<T>

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      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.
      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.
      void describeTo​(Description description)
      Generates a description of the object.
      protected boolean matchesSafely​(java.lang.Iterable<? extends T> items, Description mismatchDescription)
      Subclasses should implement this.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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>>
        Parameters:
        items - the item.
        mismatchDescription - the mismatch description.
        Returns:
        boolean true/false depending if item matches matcher.
      • describeTo

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

        @SafeVarargs
        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")))
        Type Parameters:
        T - the matcher type.
        Parameters:
        itemMatchers - a list of matchers, each of which must be satisfied by an item provided by an examined Iterable
        Returns:
        The matcher.
      • containsInAnyOrder

        @SafeVarargs
        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"))
        Type Parameters:
        T - the matcher type.
        Parameters:
        items - the items that must equal the items provided by an examined Iterable in any order
        Returns:
        The matcher.
      • 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"))))
        Type Parameters:
        T - the matcher type.
        Parameters:
        itemMatchers - a list of matchers, each of which must be satisfied by an item provided by an examined Iterable
        Returns:
        The matcher.