Library
Module
Module type
Parameter
Class
Class type
val make_cell :
?count:int ->
?long_factor:int ->
?max_gen:int ->
?max_fail:int ->
?small:('a -> int) ->
?name:string ->
'a arbitrary ->
('a -> bool) ->
'a cell
make_cell arb prop
builds a test that checks property prop
on instances of the generator arb
.
val get_law : 'a cell -> 'a -> bool
val get_name : _ cell -> string
val set_name : _ cell -> string -> unit
val get_count : _ cell -> int
Get the count of a cell.
val get_long_factor : _ cell -> int
Get the long factor of a cell.
val make :
?count:int ->
?long_factor:int ->
?max_gen:int ->
?max_fail:int ->
?small:('a -> int) ->
?name:string ->
'a arbitrary ->
('a -> bool) ->
t
make arb prop
builds a test that checks property prop
on instances of the generator arb
. See make_cell
for a description of the parameters.
Exception raised when a test failed, with the list of counter-examples. Test_fail (name, l)
means test name
failed on elements of l
.
Exception raised when a test raised an exception e
, with the sample that triggered the exception. Test_error (name, i, e, st)
means name
failed on i
with exception e
, and st
is the stacktrace (if enabled) or an empty string.
val print_instance : 'a arbitrary -> 'a -> string
val print_c_ex : 'a arbitrary -> 'a TestResult.counter_ex -> string
val print_fail :
'a arbitrary ->
string ->
'a TestResult.counter_ex list ->
string
val print_error :
?st:string ->
'a arbitrary ->
string ->
('a TestResult.counter_ex * exn) ->
string
val print_collect : (string, int) Hashtbl.t -> string
Print "collect" results.
val check_result : 'a cell -> 'a TestResult.t -> unit
check_result cell res
checks that res
is Ok _
, and returns unit. Otherwise, it raises some exception.
Callback executed after each instance of a test has been run. The callback is given the instance tested, and the current results of the test.
type 'a callback = string -> 'a cell -> 'a TestResult.t -> unit
Callback executed after each test has been run. f name cell res
means test cell
, named name
, gave res
.
val check_cell :
?long:bool ->
?call:'a callback ->
?step:'a step ->
?rand:Random.State.t ->
'a cell ->
'a TestResult.t
check_cell ~long ~rand test
generates up to count
random values of type 'a
using arbitrary
and the random state st
. The predicate law
is called on them and if it returns false
or raises an exception then we have a counter-example for the law
.
val check_cell_exn :
?long:bool ->
?call:'a callback ->
?step:'a step ->
?rand:Random.State.t ->
'a cell ->
unit
Same as check_cell
but calls check_result
on the result.
val check_exn : ?long:bool -> ?rand:Random.State.t -> t -> unit
Same as check_cell
but calls check_result
on the result.