Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
val qcheck_wrap :
?verbose:bool ->
?long:bool ->
?rand:Random.State.t ->
QCheck.Test.t list ->
unit Alcotest.test_case list
Wrap QCheck tests into Alcotests.
val qcheck_eq_tests :
eq:('a -> 'a -> bool) ->
arb:'a QCheck.arbitrary ->
eq_name:string ->
QCheck.Test.t list
qcheck_eq_tests ~eq ~arb ~eq_name
returns * three tests of eq
: reflexivity, symmetry, and transitivity. * * eq_name
should be the name of the function defining eq
. * For example, given an equality function defined as let mytype_eq = ...
, * call qcheck_eq_tests mytype_eq arb "mytype_eq"
. eq_name
is * only used for logging.
val qcheck_eq :
?pp:(Format.formatter -> 'a -> unit) ->
?cmp:('a -> 'a -> int) ->
?eq:('a -> 'a -> bool) ->
'a ->
'a ->
bool
qcheck_eq pp cmp eq a b
evaluates whether a
and b
are equal, and if they are not, raises a failure and prints an error message. Equality is evaluated as follows:
eq
eq
is provided, use a provided cmp
eq
nor cmp
is provided, use Stdlib.compare
If pp
is provided, use this to print x
and y
if they are not equal.
val qcheck_eq' :
?pp:(Format.formatter -> 'a -> unit) ->
?cmp:('a -> 'a -> int) ->
?eq:('a -> 'a -> bool) ->
expected:'a ->
actual:'a ->
unit ->
bool
Labeled variant of qcheck_eq
. The unit
argument is necessary as OCaml requires at least one positional (non-labeled) argument in case of optional arguments.
val int64_range_gen : int64 -> int64 -> int64 QCheck.Gen.t
int64_range_gen a b
generates an int64
between a
inclusive and b
inclusive.
Poorman's implementation until https://github.com/c-cube/qcheck/issues/105 is done.
This probably spectacularly crashes if (b - a) > Int64.max_int
.
val int64_range : int64 -> int64 -> int64 QCheck.arbitrary
val int_strictly_positive_gen : int -> int QCheck.Gen.t
int_strictly_positive_gen x
generates an int
between 1
inclusive and x
inclusive.
This will fail if x
is not strictly positive.
val int64_strictly_positive_gen : int64 -> int64 QCheck.Gen.t
int64_strictly_positive_gen x
generates an int64
between 1
inclusive and x
inclusive.
This will fail if x
is not strictly positive.
val of_option_gen : 'a option QCheck.Gen.t -> 'a QCheck.Gen.t
of_option_gen gen
converts a generator gen
of optional values into a generator of values by rerunning the generator if the generated value was a None
until a Some
is generated.
Be careful: if None
is always returned, this hangs forever!
val of_option_arb : 'a option QCheck.arbitrary -> 'a QCheck.arbitrary
of_option_arb arb
converts an arbitrary arb
of optional values into an arbitrary of values.
of_option_gen
(retries on None
values until a Some
is generated).None
values.Be careful: if None
is always returned, this hangs forever!
val uint16 : int QCheck.arbitrary
uint16
is an arbitrary of unsigned int16
arbitrary
val int16 : int QCheck.arbitrary
int16
is an arbitrary of signed int16 arbitrary
val uint8 : int QCheck.arbitrary
uint8
is an arbitrary of unsigned int8
values
val int8 : int QCheck.arbitrary
int8
is an arbitrary of signed int8 values
val string_fixed : int -> string QCheck.arbitrary
string_fixed n
is an arbitrary of string of length n
.
val of_option_shrink : 'a QCheck.Shrink.t option -> 'a QCheck.Shrink.t
of_option_shrink shrink_opt
returns a shrinker from an optional one. This is typically useful when extracting a shrinker from an arbitrary
to compose a bigger shrinker.
If shrink_opt
is None
then no shrinking happens.
val bytes_arb : bytes QCheck.arbitrary
bytes_arb
is a QCheck.arbitrary
for bytes
.
val endpoint_arb : Uri.t QCheck.arbitrary
endpoint_arb
is a QCheck.arbitrary
for endpoints (such as tezos-client
's --endpoint
flag). It returns URLs of the form: (http|https)://(string\.)+(:port)?
. It is by no means the most general Uri.t
generator. Generalize it if needed.
val sublist : 'a list -> 'a list QCheck.Gen.t
A generator that returns a sublist of the given list. Lists returned by this generator are not in the same order as the given list (they are shuffled). This generator can return a list equal to the input list (this generator does not guarantee to return strict sublists of the input list).
val holey : 'a list -> 'a list QCheck.Gen.t
A generator that returns lists whose elements are from the given list, preserving the order. For example, given the input list 0, 1, 2
, this generator can produce , 0
, 0, 2
, 1, 2
, 1
, etc.
module MakeMapArb (Map : Map.S) : sig ... end
Map-related arbitraries/generators.