Class ListAssert<T>

    • Constructor Detail

      • ListAssert

        protected ListAssert​(java.util.List<T> actual)
    • Method Detail

      • contains

        public ListAssert<T> contains​(T value,
                                      Index index)
        Verifies that the actual group contains the given object at the given index.
        Specified by:
        contains in interface IndexedObjectEnumerableAssert<ListAssert<T>,​T>
        Parameters:
        value - the object to look for.
        index - the index where the object should be stored in the actual group.
        Returns:
        this assertion object.
      • doesNotContain

        public ListAssert<T> doesNotContain​(T value,
                                            Index index)
        Verifies that the actual group does not contain the given object at the given index.
        Specified by:
        doesNotContain in interface IndexedObjectEnumerableAssert<ListAssert<T>,​T>
        Parameters:
        value - the object to look for.
        index - the index where the object should be stored in the actual group.
        Returns:
        this assertion object.
      • has

        public ListAssert<T> has​(Condition<? super T> condition,
                                 Index index)
        Verifies that the actual object at the given index in the actual group satisfies the given condition.
        Parameters:
        condition - the given condition.
        index - the index where the object should be stored in the actual group.
        Returns:
        this assertion object.
        Throws:
        java.lang.AssertionError - if the given List is null or empty.
        java.lang.NullPointerException - if the given Index is null.
        java.lang.IndexOutOfBoundsException - if the value of the given Index is equal to or greater than the size of the given List.
        java.lang.NullPointerException - if the given Condition is null.
        java.lang.AssertionError - if the value in the given List at the given index does not satisfy the given Condition .
      • is

        public ListAssert<T> is​(Condition<? super T> condition,
                                Index index)
        Verifies that the actual object at the given index in the actual group satisfies the given condition.
        Parameters:
        condition - the given condition.
        index - the index where the object should be stored in the actual group.
        Returns:
        this assertion object.
        Throws:
        java.lang.AssertionError - if the given List is null or empty.
        java.lang.NullPointerException - if the given Index is null.
        java.lang.IndexOutOfBoundsException - if the value of the given Index is equal to or greater than the size of the given List.
        java.lang.NullPointerException - if the given Condition is null.
        java.lang.AssertionError - if the value in the given List at the given index does not satisfy the given Condition .
      • isSorted

        public ListAssert<T> isSorted()
        Verifies that the actual list is sorted into ascending order according to the natural ordering of its elements.

        All list elements must implement the Comparable interface and must be mutually comparable (that is, e1.compareTo(e2) must not throw a ClassCastException for any elements e1 and e2 in the list), examples :

        • a list composed of {"a1", "a2", "a3"} is ok because the element type (String) is Comparable
        • a list composed of Rectangle {r1, r2, r3} is NOT ok because Rectangle is not Comparable
        • a list composed of {True, "abc", False} is NOT ok because elements are not mutually comparable
        Empty lists are considered sorted.
        Unique element lists are considered sorted unless the element type is not Comparable.
        Returns:
        this assertion object.
        Throws:
        java.lang.AssertionError - if the actual list is not sorted into ascending order according to the natural ordering of its elements.
        java.lang.AssertionError - if the actual list is null.
        java.lang.AssertionError - if the actual list element type does not implement Comparable.
        java.lang.AssertionError - if the actual list elements are not mutually Comparable.
      • isSortedAccordingTo

        public ListAssert<T> isSortedAccordingTo​(java.util.Comparator<? super T> comparator)
        Verifies that the actual list is sorted according to the given comparator.
        Empty lists are considered sorted whatever the comparator is.
        One element lists are considered sorted if element is compatible with comparator.
        Parameters:
        comparator - the Comparator used to compare list elements
        Returns:
        this assertion object.
        Throws:
        java.lang.AssertionError - if the actual list is not sorted according to the given comparator.
        java.lang.AssertionError - if the actual list is null.
        java.lang.NullPointerException - if the given comparator is null.
        java.lang.AssertionError - if the actual list elements are not mutually comparable according to given Comparator.
      • usingElementComparator

        public ListAssert<T> usingElementComparator​(java.util.Comparator<? super T> customComparator)
        Description copied from class: AbstractIterableAssert
        Use given custom comparator instead of relying on actual type A equals method to compare group elements for incoming assertion checks.

        Custom comparator is bound to assertion instance, meaning that if a new assertion is created, it will use default comparison strategy.

        Examples :

         // compares invoices by payee 
         assertThat(invoiceList).usingComparator(invoicePayeeComparator).isEqualTo(expectedInvoiceList).
         
         // compares invoices by date, doesNotHaveDuplicates and contains both use the given invoice date comparator
         assertThat(invoiceList).usingComparator(invoiceDateComparator).doesNotHaveDuplicates().contains(may2010Invoice)
         
         // as assertThat(invoiceList) creates a new assertion, it falls back to standard comparison strategy 
         // based on Invoice's equal method to compare invoiceList elements to lowestInvoice.                                                      
         assertThat(invoiceList).contains(lowestInvoice).
         
         // standard comparison : the fellowshipOfTheRing includes Gandalf but not Sauron (believe me) ...
         assertThat(fellowshipOfTheRing).contains(gandalf)
                                        .doesNotContain(sauron);
         
         // ... but if we compare only races, Sauron is in fellowshipOfTheRing because he's a Maia like Gandalf.
         assertThat(fellowshipOfTheRing).usingElementComparator(raceComparator)
                                        .contains(sauron);
         
        Specified by:
        usingElementComparator in interface EnumerableAssert<ListAssert<T>,​T>
        Overrides:
        usingElementComparator in class AbstractIterableAssert<ListAssert<T>,​java.util.List<T>,​T>
        Parameters:
        customComparator - the comparator to use for incoming assertion checks.
        Returns:
        this assertion object.