Interface SetArbitrary<T>

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

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

      • mapEach

        @API(status=MAINTAINED,
             since="1.4.0")
        <U> Arbitrary<java.util.Set<U>> mapEach​(java.util.function.BiFunction<java.util.Set<T>,​T,​U> mapper)
        Map over each element of the generated streamable giving access to the all elements when streaming.
        Type Parameters:
        U - The target type of a set to generate
        Parameters:
        mapper - Mapper function to element type U
        Returns:
        arbitrary of a set of Us
      • flatMapEach

        @API(status=MAINTAINED,
             since="1.4.0")
        <U> Arbitrary<java.util.Set<U>> flatMapEach​(java.util.function.BiFunction<java.util.Set<T>,​T,​Arbitrary<U>> flatMapper)
        Flat-map over each element of the generated streamable giving access to the all elements when streaming.
        Type Parameters:
        U - The target type of a set to generate
        Parameters:
        flatMapper - Mapper function to arbitrary of element type U
        Returns:
        arbitrary of a set of Us
      • uniqueElements

        @API(status=MAINTAINED,
             since="1.4.0")
        SetArbitrary<T> uniqueElements​(java.util.function.Function<T,​java.lang.Object> by)
        Add the constraint that elements of the generated set 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.

        Returns:
        new arbitrary instance