Module Testing

type 'a eq = 'a -> 'a -> bool
type 'a pp = Stdlib.Format.formatter -> 'a -> unit
val pp_unit : unit pp
val pp_int : int pp
val pp_bool : bool pp
val pp_float : float pp
val pp_char : char pp
val pp_str : string pp
val pp_list : 'a pp -> 'a list pp
val pp_option : 'a pp -> 'a option pp
val log_part : ('aStdlib.Format.formatter, unit) Stdlib.format -> 'a
val log : ?header:string -> ('aStdlib.Format.formatter, unit) Stdlib.format -> 'a
val log_results : unit -> bool
type test
type suite
val block : (unit -> unit) -> unit
val test : string -> (unit -> unit) -> test
val suite : string -> test list -> suite
val run : suite list -> unit
val pass : unit -> unit
val fail : ('aStdlib.Format.formatter, unit, unit) Stdlib.format4 -> 'a
val eq : eq:'a eq -> pp:'a pp -> 'a -> 'a -> unit
val eq_char : char -> char -> unit
val eq_str : string -> string -> unit
val eq_bool : bool -> bool -> unit
val eq_int : int -> int -> unit
val eq_int32 : int32 -> int32 -> unit
val eq_int64 : int64 -> int64 -> unit
val eq_float : float -> float -> unit
val eq_nan : float -> unit
val eq_option : eq:'a eq -> pp:'a pp -> 'a option -> 'a option -> unit
val eq_some : 'a option -> unit
val eq_none : pp:'a pp -> 'a option -> unit
val eq_list : eq:'a eq -> pp:'a pp -> 'a list -> 'a list -> unit
val eq_result : eq_ok:'a eq -> pp_ok:'a pp -> eq_error:'b eq -> pp_error:'b pp -> ('a'b) Rresult.result -> ('a'b) Rresult.result -> unit
val eq_result_msg : eq_ok:'a eq -> pp_ok:'a pp -> ('a[ `Msg of string ]) Rresult.result -> ('a[ `Msg of string ]) Rresult.result -> unit
val eq_ok : eq:'a eq -> pp:'a pp -> ('a'b) Rresult.result -> 'a -> unit
type app
val ($) : 'a -> (app -> 'a -> 'b) -> 'b
val (@->) : 'a pp -> (app -> 'b -> 'c) -> app -> ('a -> 'b) -> 'a -> 'c
val ret : 'a pp -> app -> 'a -> 'a
val ret_eq : eq:'a eq -> 'a pp -> 'a -> app -> 'a -> 'a
val ret_some : 'a pp -> app -> 'a option -> 'a option
val ret_none : 'a pp -> app -> 'a option -> 'a option
val ret_get_option : 'a pp -> app -> 'a option -> 'a
val app_invalid : pp:'b pp -> ('a -> 'b) -> 'a -> unit
val app_exn : pp:'b pp -> exn -> ('a -> 'b) -> 'a -> unit
val app_raises : pp:'b pp -> ('a -> 'b) -> 'a -> unit