Package net.jqwik.api.arbitraries
Interface ArrayArbitrary<T extends @Nullable Object,A>
- Type Parameters:
A
- type of the resulting array class
- All Superinterfaces:
Arbitrary<A>
,SizableArbitrary<A>
,StreamableArbitrary<T,
A>
@API(status=MAINTAINED,
since="1.4.0")
public interface ArrayArbitrary<T extends @Nullable Object,A>
extends StreamableArbitrary<T,A>
Fluent interface to add functionality to arbitraries that generate instances
of Arrays
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.jqwik.api.Arbitrary
Arbitrary.ArbitraryFacade
-
Method Summary
Modifier and TypeMethodDescriptionofMaxSize
(int maxSize) Set upper size boundarymaxSize
(included).ofMinSize
(int minSize) Set lower size boundaryminSize
(included).default ArrayArbitrary<T,
A> ofSize
(int size) Fix the size tosize
.Add the constraint that elements of the generated array must be unique, i.e. no two elements must return true when being compared using Object.equals(Object).uniqueElements
(Function<? super T, ?> by) Add the constraint that elements of the generated array must be unique relating to an element's "feature" being extracted using theby
function.withSizeDistribution
(RandomDistribution uniform) Set random distributiondistribution
of size of generated array.Methods inherited from interface net.jqwik.api.Arbitrary
allValues, array, asGeneric, collect, dontShrink, edgeCases, edgeCases, edgeCases, exhaustive, exhaustive, filter, filter, fixGenSize, flatMap, forEachValue, generator, generator, generatorWithEmbeddedEdgeCases, 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.StreamableArbitrary
reduce
-
Method Details
-
ofSize
Fix the size tosize
.- Specified by:
ofSize
in interfaceSizableArbitrary<T extends @Nullable Object>
- Specified by:
ofSize
in interfaceStreamableArbitrary<T extends @Nullable Object,
A> - Parameters:
size
- The size of the generated set- Returns:
- new arbitrary instance
-
ofMinSize
Set lower size boundaryminSize
(included).- Specified by:
ofMinSize
in interfaceSizableArbitrary<T extends @Nullable Object>
- Specified by:
ofMinSize
in interfaceStreamableArbitrary<T extends @Nullable Object,
A> - Parameters:
minSize
- The minimum size of the generated set- Returns:
- new arbitrary instance
-
ofMaxSize
Set upper size boundarymaxSize
(included).- Specified by:
ofMaxSize
in interfaceSizableArbitrary<T extends @Nullable Object>
- Specified by:
ofMaxSize
in interfaceStreamableArbitrary<T extends @Nullable Object,
A> - Parameters:
maxSize
- The maximum size of the generated set- Returns:
- new arbitrary instance
-
withSizeDistribution
@API(status=EXPERIMENTAL, since="1.5.3") ArrayArbitrary<T,A> withSizeDistribution(RandomDistribution uniform) Set random distributiondistribution
of size of generated array. The distribution's center is the minimum size of the generated array.- Specified by:
withSizeDistribution
in interfaceSizableArbitrary<T extends @Nullable Object>
- Specified by:
withSizeDistribution
in interfaceStreamableArbitrary<T extends @Nullable Object,
A>
-
uniqueElements
Add the constraint that elements of the generated array 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 interfaceStreamableArbitrary<T extends @Nullable Object,
A> - Returns:
- new arbitrary instance
-
uniqueElements
Add the constraint that elements of the generated array must be unique relating to an element's "feature" being extracted using theby
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 interfaceStreamableArbitrary<T extends @Nullable Object,
A> - Returns:
- new arbitrary instance
-