Class DefaultArrayArbitrary<T,A>

java.lang.Object
net.jqwik.engine.properties.arbitraries.TypedCloneable
net.jqwik.engine.properties.arbitraries.DefaultArrayArbitrary<T,A>
All Implemented Interfaces:
Cloneable, net.jqwik.api.arbitraries.ArrayArbitrary<T,A>, net.jqwik.api.arbitraries.SizableArbitrary<A>, net.jqwik.api.arbitraries.StreamableArbitrary<T,A>, net.jqwik.api.Arbitrary<A>

public class DefaultArrayArbitrary<T,A> extends TypedCloneable implements net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
  • 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>
     
    protected int
     
    protected net.jqwik.api.RandomDistribution
     
    protected Set<FeatureExtractor<T>>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefaultArrayArbitrary(net.jqwik.api.Arbitrary<T> elementArbitrary, Class<?> componentClass)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected net.jqwik.api.RandomGenerator<List<T>>
    createListGenerator(int genSize, boolean withEmbeddedEdgeCases)
     
    net.jqwik.api.EdgeCases<A>
    edgeCases(int maxEdgeCases)
     
    protected <C extends Collection<?>>
    net.jqwik.api.EdgeCases<C>
    edgeCases(BiFunction<List<net.jqwik.api.Shrinkable<T>>,Integer,net.jqwik.api.Shrinkable<C>> shrinkableCreator, int maxEdgeCases)
     
    protected net.jqwik.api.RandomGenerator<T>
    elementGenerator(net.jqwik.api.Arbitrary<T> elementArbitrary, int genSize, boolean withEdgeCases)
     
    boolean
     
    Optional<net.jqwik.api.ExhaustiveGenerator<A>>
    exhaustive(long maxNumberOfSamples)
     
    static <T, A> net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
    forArrayType(net.jqwik.api.Arbitrary<T> elementArbitrary, Class<A> arrayClass)
     
    static <T> net.jqwik.api.arbitraries.ArrayArbitrary<T,T[]>
    forComponentType(net.jqwik.api.Arbitrary<T> elementArbitrary, Class<?> componentType)
     
    net.jqwik.api.RandomGenerator<A>
    generator(int genSize)
     
    net.jqwik.api.RandomGenerator<A>
     
    int
     
    boolean
     
    protected int
     
    net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
    ofMaxSize(int maxSize)
     
    net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
    ofMinSize(int minSize)
     
    <R> net.jqwik.api.Arbitrary<R>
    reduce(R initial, BiFunction<R,T,R> accumulator)
     
    protected Iterable<T>
    toIterable(A array)
     
    net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
     
    net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
     
    protected net.jqwik.api.arbitraries.StreamableArbitrary<T,A>
     
    net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
    withSizeDistribution(net.jqwik.api.RandomDistribution distribution)
     

    Methods inherited from class net.jqwik.engine.properties.arbitraries.TypedCloneable

    typedClone

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.jqwik.api.Arbitrary

    allValues, array, asGeneric, collect, dontShrink, edgeCases, edgeCases, exhaustive, filter, filter, fixGenSize, flatMap, forEachValue, generator, ignoreException, ignoreException, ignoreExceptions, ignoreExceptions, injectDuplicates, injectNull, isGeneratorMemoizable, iterator, list, map, optional, optional, sample, sampleStream, set, stream, tuple1, tuple2, tuple3, tuple4, tuple5, withoutEdgeCases

    Methods inherited from interface net.jqwik.api.arbitraries.ArrayArbitrary

    ofSize

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

    reduce
  • Field Details

    • elementArbitrary

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

      protected int minSize
    • uniquenessExtractors

      protected Set<FeatureExtractor<T>> uniquenessExtractors
    • sizeDistribution

      protected net.jqwik.api.RandomDistribution sizeDistribution
  • Constructor Details

    • DefaultArrayArbitrary

      public DefaultArrayArbitrary(net.jqwik.api.Arbitrary<T> elementArbitrary, Class<?> componentClass)
  • Method Details

    • forArrayType

      public static <T, A> net.jqwik.api.arbitraries.ArrayArbitrary<T,A> forArrayType(net.jqwik.api.Arbitrary<T> elementArbitrary, Class<A> arrayClass)
    • forComponentType

      public static <T> net.jqwik.api.arbitraries.ArrayArbitrary<T,T[]> forComponentType(net.jqwik.api.Arbitrary<T> elementArbitrary, Class<?> componentType)
    • ofMinSize

      public net.jqwik.api.arbitraries.ArrayArbitrary<T,A> ofMinSize(int minSize)
      Specified by:
      ofMinSize in interface net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
      Specified by:
      ofMinSize in interface net.jqwik.api.arbitraries.SizableArbitrary<T>
      Specified by:
      ofMinSize in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,A>
    • ofMaxSize

      public net.jqwik.api.arbitraries.ArrayArbitrary<T,A> ofMaxSize(int maxSize)
      Specified by:
      ofMaxSize in interface net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
      Specified by:
      ofMaxSize in interface net.jqwik.api.arbitraries.SizableArbitrary<T>
      Specified by:
      ofMaxSize in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,A>
    • withSizeDistribution

      public net.jqwik.api.arbitraries.ArrayArbitrary<T,A> withSizeDistribution(net.jqwik.api.RandomDistribution distribution)
      Specified by:
      withSizeDistribution in interface net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
      Specified by:
      withSizeDistribution in interface net.jqwik.api.arbitraries.SizableArbitrary<T>
      Specified by:
      withSizeDistribution in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,A>
    • generator

      public net.jqwik.api.RandomGenerator<A> generator(int genSize)
      Specified by:
      generator in interface net.jqwik.api.Arbitrary<T>
    • generatorWithEmbeddedEdgeCases

      public net.jqwik.api.RandomGenerator<A> generatorWithEmbeddedEdgeCases(int genSize)
      Specified by:
      generatorWithEmbeddedEdgeCases in interface net.jqwik.api.Arbitrary<T>
    • exhaustive

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

      public net.jqwik.api.EdgeCases<A> edgeCases(int maxEdgeCases)
      Specified by:
      edgeCases in interface net.jqwik.api.Arbitrary<T>
    • toIterable

      protected Iterable<T> toIterable(A array)
    • uniqueElements

      public net.jqwik.api.arbitraries.ArrayArbitrary<T,A> uniqueElements()
      Specified by:
      uniqueElements in interface net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
      Specified by:
      uniqueElements in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,A>
    • uniqueElements

      public net.jqwik.api.arbitraries.ArrayArbitrary<T,A> uniqueElements(Function<T,Object> by)
      Specified by:
      uniqueElements in interface net.jqwik.api.arbitraries.ArrayArbitrary<T,A>
      Specified by:
      uniqueElements in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,A>
    • isGeneratorMemoizable

      public boolean isGeneratorMemoizable()
      Specified by:
      isGeneratorMemoizable in interface net.jqwik.api.Arbitrary<T>
    • reduce

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

      protected net.jqwik.api.arbitraries.StreamableArbitrary<T,A> uniqueElements(FeatureExtractor<T> by)
    • createListGenerator

      protected net.jqwik.api.RandomGenerator<List<T>> createListGenerator(int genSize, boolean withEmbeddedEdgeCases)
    • elementGenerator

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

      protected <C extends Collection<?>> net.jqwik.api.EdgeCases<C> edgeCases(BiFunction<List<net.jqwik.api.Shrinkable<T>>,Integer,net.jqwik.api.Shrinkable<C>> shrinkableCreator, int maxEdgeCases)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • maxSize

      protected int maxSize()