package bam
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=305cae8abab48847acfdce92c90ab956ba82dd64d5ef14387cfc3defacd2154a
sha512=aab71b47641b495e8f5ae968f11bd065def93cbee776e81a8bc9503181cdbdba7de8c1175908a209f84a4a4cdef65ab3dc5abe30a05ac75a4b5c45d679d1df85
doc/bam/Bam/Std/index.html
Module Bam.Std
Source
Main module defining basic generators.
This module contains the various strinking strategies which can be used with the generators below.
bind gen f
returns a new generator depending on another generator. This should be the main building block to construct new generator. To understand how shrinking works with this operator please read shrinking
.
root gen f
applies f
on the original value generated by gen
and forgets about the shrinking. Hence, f
is always applied to a single value. More details in shrinking
.
crunch i gen
returns a new generator with a more aggressive shrinking. It increases the number of values that will be used during the shrinking. More details in shrinking
.
int ?shrinker ?(min=0) ?(max=Int.max_int) ()
is a generator for integers. Bounds are inclusive.
Default strategy is Shrinker.t.Int
0
.
int ?shrinker ?(min=0) ?(max=Int.max_int) ()
is a generator for integers. Bounds are inclusive.
Default strategy is Shrinker.t.Int
0
.
int ?shrinker ?(min=0) ?(max=Int.max_int) ()
is a generator for integers. Bounds are inclusive.
Default strategy is Shrinker.t.Int
0
.
float ?shrinker ?(min=0.) ?(max=Float.max_float) ()
generates integers. Bounds are inclusive.
Default strategy is Shrinker.t.Float
0.
.
pair ?shrinker left right ()
generates a pair using the left
and right
generators.
Default strategy is Shrinker.t.Pair_left
.
bool ?shrinker ()
generates a boolean.x
Default strategy is Shrinker.t.Bool
false
.
char ?shrinker ?(printable=true) ()
generates a char.
Default strategy is Shrinker.t.Char
'a
.
list ?shrinker ~size gen ()
generates a list of values using gen
.
Default strategy is Shrinker.t.Prefix
.
val string :
?shrinker:Char.t list Shrinker.t ->
?char:Char.t t ->
size:int t ->
unit ->
string t
string ?shrinker ?char ~size ()
is mostly an alias for list ?shrinker ~char:(char ())
.
val bytes :
?shrinker:Char.t list Shrinker.t ->
?char:Char.t t ->
size:int t ->
unit ->
bytes t
bytes ?shrinker ?char ~size ()
is mostly an alias for list ?shrinker ~char:(char ~printable:false ()) ()
.
oneof ?shrinker list
pick one generator of the list according to the distribution defined by the first elements of the list.
Default strategy is the same as for int
. This generator can be thought as a repeated list of generators. The shrinker will choose particular index from the list.
oneofg ?shrinker list
is an alias for oneof ?shrinker (List.map (fun gen -> (1, gen)) list)
oneofl ?shrinker list
is an alias for oneofg ?shrinker (List.map Gen.return list