Interface ListArbitrary<T>

  • All Superinterfaces:
    Arbitrary<java.util.List<T>>, SizableArbitrary<java.util.List<T>>, StreamableArbitrary<T,​java.util.List<T>>

    @API(status=MAINTAINED,
         since="1.3.2")
    public interface ListArbitrary<T>
    extends Arbitrary<java.util.List<T>>, StreamableArbitrary<T,​java.util.List<T>>
    Fluent interface to add functionality to arbitraries that generate instances of type List
    • Method Detail

      • mapEach

        @API(status=MAINTAINED,
             since="1.4.0")
        <U> Arbitrary<java.util.List<U>> mapEach​(java.util.function.BiFunction<java.util.List<T>,​T,​U> mapper)
        Map over each element of the generated list giving access to all elements of the list. The number and position of the mapped elements within the list will stay the same.
        Type Parameters:
        U - The target type of a list to generate
        Parameters:
        mapper - Mapper function to element type U
        Returns:
        arbitrary of a list of Us
      • flatMapEach

        @API(status=MAINTAINED,
             since="1.4.0")
        <U> Arbitrary<java.util.List<U>> flatMapEach​(java.util.function.BiFunction<java.util.List<T>,​T,​Arbitrary<U>> flatMapper)
        Flat-map over each element of the generated list giving access to all elements of the list. The number and position of the mapped elements within the list will stay the same.
        Type Parameters:
        U - The target type of a list to generate
        Parameters:
        flatMapper - Mapper function to arbitrary of element type U
        Returns:
        arbitrary of a list of Us
      • uniqueElements

        @API(status=MAINTAINED,
             since="1.4.0")
        ListArbitrary<T> uniqueElements()
        Add the constraint that elements of the generated list must be unique, i.e. no two elements must return true when being compared using Object.equals(Object).

        The constraint can be combined with other uniqueElements(Function) constraints.

        Specified by:
        uniqueElements in interface StreamableArbitrary<T,​java.util.List<T>>
        Returns:
        new arbitrary instance
      • uniqueElements

        @API(status=MAINTAINED,
             since="1.4.0")
        ListArbitrary<T> uniqueElements​(java.util.function.Function<T,​java.lang.Object> by)
        Add the constraint that elements of the generated list must be unique relating to an element's "feature" being extracted using the by function. The extracted features are being compared using Object.equals(Object).

        The constraint can be combined with other uniqueElements(Function) constraints.

        Specified by:
        uniqueElements in interface StreamableArbitrary<T,​java.util.List<T>>
        Returns:
        new arbitrary instance