Class DefaultListArbitrary<T>

  • All Implemented Interfaces:
    java.lang.Cloneable, net.jqwik.api.arbitraries.ListArbitrary<T>, net.jqwik.api.arbitraries.SizableArbitrary<java.util.List<T>>, net.jqwik.api.arbitraries.StreamableArbitrary<T,​java.util.List<T>>, net.jqwik.api.Arbitrary<java.util.List<T>>

    public class DefaultListArbitrary<T>
    extends AbstractArbitraryBase
    implements net.jqwik.api.arbitraries.ListArbitrary<T>
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface net.jqwik.api.Arbitrary

        net.jqwik.api.Arbitrary.ArbitraryFacade
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected net.jqwik.api.Arbitrary<T> elementArbitrary  
      protected int maxSize  
      protected int minSize  
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultListArbitrary​(net.jqwik.api.Arbitrary<T> elementArbitrary, boolean elementsUnique)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected net.jqwik.api.RandomGenerator<java.util.List<T>> createListGenerator​(int genSize)  
      protected int cutoffSize​(int genSize)  
      net.jqwik.api.EdgeCases<java.util.List<T>> edgeCases()  
      protected <C extends java.util.Collection<?>>
      net.jqwik.api.EdgeCases<C>
      edgeCases​(java.util.function.BiFunction<java.util.List<net.jqwik.api.Shrinkable<T>>,​java.lang.Integer,​net.jqwik.api.Shrinkable<C>> shrinkableCreator)  
      protected net.jqwik.api.RandomGenerator<T> elementGenerator​(net.jqwik.api.Arbitrary<T> elementArbitrary, int genSize)  
      java.util.Optional<net.jqwik.api.ExhaustiveGenerator<java.util.List<T>>> exhaustive​(long maxNumberOfSamples)  
      <U> net.jqwik.api.Arbitrary<java.util.List<U>> flatMapEach​(java.util.function.BiFunction<java.util.List<T>,​T,​net.jqwik.api.Arbitrary<U>> flatMapper)  
      net.jqwik.api.RandomGenerator<java.util.List<T>> generator​(int genSize)  
      <U> net.jqwik.api.Arbitrary<java.util.List<U>> mapEach​(java.util.function.BiFunction<java.util.List<T>,​T,​U> mapper)  
      net.jqwik.api.arbitraries.ListArbitrary<T> ofMaxSize​(int maxSize)  
      net.jqwik.api.arbitraries.ListArbitrary<T> ofMinSize​(int minSize)  
      <R> net.jqwik.api.Arbitrary<R> reduce​(R initial, java.util.function.BiFunction<R,​T,​R> accumulator)  
      protected java.lang.Iterable<T> toIterable​(java.util.List<T> streamable)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface net.jqwik.api.Arbitrary

        allValues, array, asGeneric, collect, dontShrink, edgeCases, exhaustive, filter, fixGenSize, flatMap, forEachValue, ignoreException, injectDuplicates, injectNull, isUnique, iterator, list, map, optional, sample, sampleStream, set, stream, tuple1, tuple2, tuple3, tuple4, tuple5, unique
      • Methods inherited from interface net.jqwik.api.arbitraries.ListArbitrary

        ofSize
      • Methods inherited from interface net.jqwik.api.arbitraries.StreamableArbitrary

        reduce
    • Field Detail

      • elementArbitrary

        protected net.jqwik.api.Arbitrary<T> elementArbitrary
      • minSize

        protected int minSize
      • maxSize

        protected int maxSize
    • Constructor Detail

      • DefaultListArbitrary

        public DefaultListArbitrary​(net.jqwik.api.Arbitrary<T> elementArbitrary,
                                    boolean elementsUnique)
    • Method Detail

      • toIterable

        protected java.lang.Iterable<T> toIterable​(java.util.List<T> streamable)
      • generator

        public net.jqwik.api.RandomGenerator<java.util.List<T>> generator​(int genSize)
        Specified by:
        generator in interface net.jqwik.api.Arbitrary<T>
      • exhaustive

        public java.util.Optional<net.jqwik.api.ExhaustiveGenerator<java.util.List<T>>> exhaustive​(long maxNumberOfSamples)
        Specified by:
        exhaustive in interface net.jqwik.api.Arbitrary<T>
      • edgeCases

        public net.jqwik.api.EdgeCases<java.util.List<T>> edgeCases()
        Specified by:
        edgeCases in interface net.jqwik.api.Arbitrary<T>
      • ofMaxSize

        public net.jqwik.api.arbitraries.ListArbitrary<T> ofMaxSize​(int maxSize)
        Specified by:
        ofMaxSize in interface net.jqwik.api.arbitraries.ListArbitrary<T>
        Specified by:
        ofMaxSize in interface net.jqwik.api.arbitraries.SizableArbitrary<T>
        Specified by:
        ofMaxSize in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,​java.util.List<T>>
      • ofMinSize

        public net.jqwik.api.arbitraries.ListArbitrary<T> ofMinSize​(int minSize)
        Specified by:
        ofMinSize in interface net.jqwik.api.arbitraries.ListArbitrary<T>
        Specified by:
        ofMinSize in interface net.jqwik.api.arbitraries.SizableArbitrary<T>
        Specified by:
        ofMinSize in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,​java.util.List<T>>
      • mapEach

        public <U> net.jqwik.api.Arbitrary<java.util.List<U>> mapEach​(java.util.function.BiFunction<java.util.List<T>,​T,​U> mapper)
        Specified by:
        mapEach in interface net.jqwik.api.arbitraries.ListArbitrary<T>
      • flatMapEach

        public <U> net.jqwik.api.Arbitrary<java.util.List<U>> flatMapEach​(java.util.function.BiFunction<java.util.List<T>,​T,​net.jqwik.api.Arbitrary<U>> flatMapper)
        Specified by:
        flatMapEach in interface net.jqwik.api.arbitraries.ListArbitrary<T>
      • reduce

        public <R> net.jqwik.api.Arbitrary<R> reduce​(R initial,
                                                     java.util.function.BiFunction<R,​T,​R> accumulator)
        Specified by:
        reduce in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,​U>
      • createListGenerator

        protected net.jqwik.api.RandomGenerator<java.util.List<T>> createListGenerator​(int genSize)
      • cutoffSize

        protected int cutoffSize​(int genSize)
      • elementGenerator

        protected net.jqwik.api.RandomGenerator<T> elementGenerator​(net.jqwik.api.Arbitrary<T> elementArbitrary,
                                                                    int genSize)
      • edgeCases

        protected <C extends java.util.Collection<?>> net.jqwik.api.EdgeCases<C> edgeCases​(java.util.function.BiFunction<java.util.List<net.jqwik.api.Shrinkable<T>>,​java.lang.Integer,​net.jqwik.api.Shrinkable<C>> shrinkableCreator)