Package net.jqwik.api.arbitraries
Interface ListArbitrary<T>
-
- All Superinterfaces:
Arbitrary<java.util.List<T>>,SizableArbitrary<java.util.List<T>>,StreamableArbitrary<T,java.util.List<T>>
@API(status=MAINTAINED, since="1.3.2") public interface ListArbitrary<T> extends Arbitrary<java.util.List<T>>, StreamableArbitrary<T,java.util.List<T>>Fluent interface to add functionality to arbitraries that generate instances of type List
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.jqwik.api.Arbitrary
Arbitrary.ArbitraryFacade
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <U> Arbitrary<java.util.List<U>>flatMapEach(java.util.function.BiFunction<java.util.List<T>,T,Arbitrary<U>> flatMapper)Flat-map over each element of the generated list giving access to all elements of the list.<U> Arbitrary<java.util.List<U>>mapEach(java.util.function.BiFunction<java.util.List<T>,T,U> mapper)Map over each element of the generated list giving access to all elements of the list.ListArbitrary<T>ofMaxSize(int maxSize)Set upper size boundarymaxSize(included).ListArbitrary<T>ofMinSize(int minSize)Set lower size boundaryminSize(included).default ListArbitrary<T>ofSize(int size)Fix the size tosize.ListArbitrary<T>uniqueElements()Add the constraint that elements of the generated list must be unique, i.e. no two elements must return true when being compared using Object.equals(Object).ListArbitrary<T>uniqueElements(java.util.function.Function<T,java.lang.Object> by)Add the constraint that elements of the generated list must be unique relating to an element's "feature" being extracted using thebyfunction.ListArbitrary<T>withSizeDistribution(RandomDistribution uniform)Set random distributiondistributionof size of generated list.-
Methods inherited from interface net.jqwik.api.Arbitrary
allValues, array, asGeneric, collect, dontShrink, edgeCases, edgeCases, edgeCases, exhaustive, exhaustive, filter, fixGenSize, flatMap, forEachValue, generator, generator, generatorWithEmbeddedEdgeCases, ignoreException, injectDuplicates, injectNull, 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 Detail
-
ofSize
default ListArbitrary<T> ofSize(int size)
Fix the size tosize.- Specified by:
ofSizein interfaceSizableArbitrary<T>- Specified by:
ofSizein interfaceStreamableArbitrary<T,java.util.List<T>>- Parameters:
size- The size of the generated list- Returns:
- new arbitrary instance
-
ofMinSize
ListArbitrary<T> ofMinSize(int minSize)
Set lower size boundaryminSize(included).- Specified by:
ofMinSizein interfaceSizableArbitrary<T>- Specified by:
ofMinSizein interfaceStreamableArbitrary<T,java.util.List<T>>- Parameters:
minSize- The minimum size of the generated list- Returns:
- new arbitrary instance
-
ofMaxSize
ListArbitrary<T> ofMaxSize(int maxSize)
Set upper size boundarymaxSize(included).- Specified by:
ofMaxSizein interfaceSizableArbitrary<T>- Specified by:
ofMaxSizein interfaceStreamableArbitrary<T,java.util.List<T>>- Parameters:
maxSize- The maximum size of the generated list- Returns:
- new arbitrary instance
-
withSizeDistribution
@API(status=EXPERIMENTAL, since="1.5.3") ListArbitrary<T> withSizeDistribution(RandomDistribution uniform)Set random distributiondistributionof size of generated list. The distribution's center is the minimum size of the generated list.- Specified by:
withSizeDistributionin interfaceSizableArbitrary<T>- Specified by:
withSizeDistributionin interfaceStreamableArbitrary<T,java.util.List<T>>
-
mapEach
@API(status=MAINTAINED, since="1.4.0") <U> Arbitrary<java.util.List<U>> mapEach(java.util.function.BiFunction<java.util.List<T>,T,U> mapper)Map over each element of the generated list giving access to all elements of the list. The number and position of the mapped elements within the list will stay the same.- Type Parameters:
U- The target type of a list to generate- Parameters:
mapper- Mapper function to element type U- Returns:
- arbitrary of a list of Us
-
flatMapEach
@API(status=MAINTAINED, since="1.4.0") <U> Arbitrary<java.util.List<U>> flatMapEach(java.util.function.BiFunction<java.util.List<T>,T,Arbitrary<U>> flatMapper)Flat-map over each element of the generated list giving access to all elements of the list. The number and position of the mapped elements within the list will stay the same.- Type Parameters:
U- The target type of a list to generate- Parameters:
flatMapper- Mapper function to arbitrary of element type U- Returns:
- arbitrary of a list of Us
-
uniqueElements
@API(status=MAINTAINED, since="1.4.0") ListArbitrary<T> uniqueElements()Add the constraint that elements of the generated list 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.
- Returns:
- new arbitrary instance
-
uniqueElements
@API(status=MAINTAINED, since="1.4.0") ListArbitrary<T> uniqueElements(java.util.function.Function<T,java.lang.Object> by)Add the constraint that elements of the generated list must be unique relating to an element's "feature" being extracted using thebyfunction. The extracted features are being compared using Object.equals(Object).The constraint can be combined with other uniqueElements(Function) constraints.
- Returns:
- new arbitrary instance
-
-