module Quickcheck: sig
.. end
Module for easily generating unit tests. Based on code posted by
padiolea@irisa.fr to the caml mailing list.
val foldn : f:('a -> int -> 'a) -> init:'a -> int -> 'a
val sum_int : int Std_internal.List.t -> int
val (==>) : bool -> bool -> bool
type 'a
gen = unit -> 'a
val fg : unit -> float
val pfg : unit -> float
val nng : unit -> int
val uig : unit -> int
val lg : (unit -> 'a) -> ?size_gen:(unit -> int) -> unit -> 'a list
val pg : (unit -> 'a) -> (unit -> 'b) -> unit -> 'a * 'b
val tg : (unit -> 'a) -> (unit -> 'b) -> (unit -> 'c) -> unit -> 'a * 'b * 'c
val cg : unit -> char
val sg : ?char_gen:(unit -> char) -> ?size_gen:(unit -> int) -> unit -> string
val oneofl : 'a Std_internal.List.container -> unit -> 'a
given a list, returns generator that picks at random from list
val oneof : 'a Std_internal.List.container -> 'a
Given a list of generators, returns generator that randomly uses one of the generators
from the list
val always : 'a -> unit -> 'a
generator that always returns given value
val frequency : (int * 'a) list -> 'a
Given list of (frequency,value)
pairs, returns value with probability proportional
to given frequency
val frequencyl : (int * 'a) list -> unit -> 'a
like frequency, but returns generator
val laws : int -> (unit -> 'a) -> ('a -> bool) -> 'a option
laws iter gen func
applies func
repeatedly (iter
times) on output of gen
, and
if func
ever returns false, then the input that caused the failure is returned
optionally.
val laws_exn : string -> int -> (unit -> 'a) -> ('a -> bool) -> unit
Like laws, but throws an exception instead of returning an option.
val statistic_number : 'a list -> (int * 'a) list
val statistic : 'a list -> (int * 'a) list
val laws2 : int -> ('a -> bool * 'b) -> (unit -> 'a) -> 'a option * (int * 'b) list