Discards the whole generator.
Discards the generator if the generated value does not satisfy the predicate.
Generates a value that satisfies a predicate.
Generates a value that satisfies a predicate.
We keep some state to avoid looping forever. If we trigger these limits then the whole generator is discarded.
Runs a Option
generator until it produces a Some
.
Runs a Option
generator until it produces a Some
.
This is implemented using filter
and has the same caveats.
Construct a generator that depends on the size parameter.
Generates a random integral number in the given [inclusive,inclusive]
range.
Generates a random integral number in the given [inclusive,inclusive]
range.
When the generator tries to shrink, it will shrink towards the Range.origin of the specified Range.
For example, the following generator will produce a number between 1970
and 2100
, but will shrink towards 2000
:
Gen.integral(Range.constantFrom(2000, 1970, 2100))
Some sample outputs from this generator might look like:
=== Outcome === 1973 === Shrinks === 2000 1987 1980 1976 1974 === Outcome === 2061 === Shrinks === 2000 2031 2046 2054 2058 2060
Generates a random integral number in the [inclusive,inclusive]
range.
Generates a random integral number in the [inclusive,inclusive]
range.
This generator does not shrink.
Generates a list using a 'Range' to determine the length.
Construct a generator that depends on the size parameter.
(Since version ) see corresponding Javadoc for more information.