MonadGenOps
Value members
Concrete methods
Discards the generator if the generated value does not satisfy the predicate.
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.
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.''