Class DefaultIteratorArbitrary<T>

java.lang.Object
net.jqwik.engine.properties.arbitraries.TypedCloneable
net.jqwik.engine.properties.arbitraries.DefaultIteratorArbitrary<T>
All Implemented Interfaces:
Cloneable, net.jqwik.api.arbitraries.IteratorArbitrary<T>, net.jqwik.api.arbitraries.SizableArbitrary<Iterator<T>>, net.jqwik.api.arbitraries.StreamableArbitrary<T,Iterator<T>>, net.jqwik.api.Arbitrary<Iterator<T>>

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

    Constructors
    Constructor
    Description
    DefaultIteratorArbitrary(net.jqwik.api.Arbitrary<T> elementArbitrary)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected net.jqwik.api.RandomGenerator<List<T>>
    createListGenerator(int genSize, boolean withEmbeddedEdgeCases)
     
    net.jqwik.api.EdgeCases<Iterator<T>>
    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<Iterator<T>>>
    exhaustive(long maxNumberOfSamples)
     
    net.jqwik.api.RandomGenerator<Iterator<T>>
    generator(int genSize)
     
    net.jqwik.api.RandomGenerator<Iterator<T>>
     
    int
     
    boolean
     
    protected int
     
    net.jqwik.api.arbitraries.IteratorArbitrary<T>
    ofMaxSize(int maxSize)
     
    net.jqwik.api.arbitraries.IteratorArbitrary<T>
    ofMinSize(int minSize)
     
    <R> net.jqwik.api.Arbitrary<R>
    reduce(R initial, BiFunction<R,T,R> accumulator)
     
    protected Iterable<T>
    toIterable(Iterator<T> streamable)
     
    net.jqwik.api.arbitraries.IteratorArbitrary<T>
     
    net.jqwik.api.arbitraries.IteratorArbitrary<T>
     
    protected net.jqwik.api.arbitraries.StreamableArbitrary<T,Iterator<T>>
     
    net.jqwik.api.arbitraries.IteratorArbitrary<T>
    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, 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.IteratorArbitrary

    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

    • DefaultIteratorArbitrary

      public DefaultIteratorArbitrary(net.jqwik.api.Arbitrary<T> elementArbitrary)
  • Method Details

    • toIterable

      protected Iterable<T> toIterable(Iterator<T> streamable)
    • generator

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

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

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

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

      public net.jqwik.api.arbitraries.IteratorArbitrary<T> ofMaxSize(int maxSize)
      Specified by:
      ofMaxSize in interface net.jqwik.api.arbitraries.IteratorArbitrary<T>
      Specified by:
      ofMaxSize in interface net.jqwik.api.arbitraries.SizableArbitrary<T>
      Specified by:
      ofMaxSize in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,Iterator<T>>
    • ofMinSize

      public net.jqwik.api.arbitraries.IteratorArbitrary<T> ofMinSize(int minSize)
      Specified by:
      ofMinSize in interface net.jqwik.api.arbitraries.IteratorArbitrary<T>
      Specified by:
      ofMinSize in interface net.jqwik.api.arbitraries.SizableArbitrary<T>
      Specified by:
      ofMinSize in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,Iterator<T>>
    • withSizeDistribution

      public net.jqwik.api.arbitraries.IteratorArbitrary<T> withSizeDistribution(net.jqwik.api.RandomDistribution distribution)
      Specified by:
      withSizeDistribution in interface net.jqwik.api.arbitraries.IteratorArbitrary<T>
      Specified by:
      withSizeDistribution in interface net.jqwik.api.arbitraries.SizableArbitrary<T>
      Specified by:
      withSizeDistribution in interface net.jqwik.api.arbitraries.StreamableArbitrary<T,Iterator<T>>
    • uniqueElements

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

      public net.jqwik.api.arbitraries.IteratorArbitrary<T> uniqueElements()
      Specified by:
      uniqueElements in interface net.jqwik.api.arbitraries.IteratorArbitrary<T>
    • 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,Iterator<T>> 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()