Class IsIterableContaining<T>

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void describeTo​(Description description)
      Generates a description of the object.
      static <T> Matcher<java.lang.Iterable<? super T>> hasItem​(Matcher<? super T> itemMatcher)
      Creates a matcher for Iterables that only matches when a single pass over the examined Iterable yields at least one item that is matched by the specified itemMatcher.
      static <T> Matcher<java.lang.Iterable<? super T>> hasItem​(T item)
      Creates a matcher for Iterables that only matches when a single pass over the examined Iterable yields at least one item that is equal to the specified item.
      static <T> Matcher<java.lang.Iterable<T>> hasItems​(Matcher<? super T>... itemMatchers)
      Creates a matcher for Iterables that matches when consecutive passes over the examined Iterable yield at least one item that is matched by the corresponding matcher from the specified itemMatchers.
      static <T> Matcher<java.lang.Iterable<T>> hasItems​(T... items)
      Creates a matcher for Iterables that matches when consecutive passes over the examined Iterable yield at least one item that is equal to the corresponding item from the specified items.
      protected boolean matchesSafely​(java.lang.Iterable<? super T> collection, 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

      • IsIterableContaining

        public IsIterableContaining​(Matcher<? super T> elementMatcher)
    • Method Detail

      • matchesSafely

        protected boolean matchesSafely​(java.lang.Iterable<? super T> collection,
                                        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<? super T>>
        Parameters:
        collection - 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.
      • hasItem

        public static <T> Matcher<java.lang.Iterable<? super T>> hasItem​(Matcher<? super T> itemMatcher)
        Creates a matcher for Iterables that only matches when a single pass over the examined Iterable yields at least one item that is matched by the specified itemMatcher. Whilst matching, the traversal of the examined Iterable will stop as soon as a matching item is found. For example:
        assertThat(Arrays.asList("foo", "bar"), hasItem(startsWith("ba")))
        Type Parameters:
        T - the matcher type.
        Parameters:
        itemMatcher - the matcher to apply to items provided by the examined Iterable
        Returns:
        The matcher.
      • hasItem

        public static <T> Matcher<java.lang.Iterable<? super T>> hasItem​(T item)
        Creates a matcher for Iterables that only matches when a single pass over the examined Iterable yields at least one item that is equal to the specified item. Whilst matching, the traversal of the examined Iterable will stop as soon as a matching item is found. For example:
        assertThat(Arrays.asList("foo", "bar"), hasItem("bar"))
        Type Parameters:
        T - the matcher type.
        Parameters:
        item - the item to compare against the items provided by the examined Iterable
        Returns:
        The matcher.
      • hasItems

        @SafeVarargs
        public static <T> Matcher<java.lang.Iterable<T>> hasItems​(Matcher<? super T>... itemMatchers)
        Creates a matcher for Iterables that matches when consecutive passes over the examined Iterable yield at least one item that is matched by the corresponding matcher from the specified itemMatchers. Whilst matching, each traversal of the examined Iterable will stop as soon as a matching item is found. For example:
        assertThat(Arrays.asList("foo", "bar", "baz"), hasItems(endsWith("z"), endsWith("o")))
        Type Parameters:
        T - the matcher type.
        Parameters:
        itemMatchers - the matchers to apply to items provided by the examined Iterable
        Returns:
        The matcher.
      • hasItems

        @SafeVarargs
        public static <T> Matcher<java.lang.Iterable<T>> hasItems​(T... items)
        Creates a matcher for Iterables that matches when consecutive passes over the examined Iterable yield at least one item that is equal to the corresponding item from the specified items. Whilst matching, each traversal of the examined Iterable will stop as soon as a matching item is found. For example:
        assertThat(Arrays.asList("foo", "bar", "baz"), hasItems("baz", "foo"))
        Type Parameters:
        T - the matcher type.
        Parameters:
        items - the items to compare against the items provided by the examined Iterable
        Returns:
        The matcher.