Mavryk_test_helpers.Assert
module Assert
contains Alcotest convenience assertions.
An assertion that a relation between two elements of 'ty
holds true. This assertion returns a value of type 'res
when it succeeds, typically unit
, as in check2
. *
type ('ty, 'res) assertion = ('ty, 'res) t
Alias for t
used in EQUALITIES
.
type 'ty check2 = ('ty, unit) t
A 'a check2
is an assertion over two elements of type 'a
returning unit when it holds.
type ('base_ty, 'container_ty) equality_check =
?eq:('base_ty -> 'base_ty -> bool) ->
?pp:(Stdlib.Format.formatter -> 'base_ty -> unit) ->
'container_ty check2
An equality_check
is an assertion that the boolean relation defined by eq
holds on two series -- of type 'container_ty
-- of elements of 'base_ty
,
This typically defines the type of assertions on lists (see equal_list
), or arrays, but it is also used to defined new checks based on an equality function.
type ('base_ty, 'container_ty) comparison_check =
?cmp:('base_ty -> 'base_ty -> int) ->
?pp:(Stdlib.Format.formatter -> 'base_ty -> unit) ->
'container_ty check2
A comparison_check
is similar to a equality_check
except the assertion is based on the optional comparison function cmp
.
fail ?loc ?msg pp x y
fails after printing message "<loc> <msg>: expected <x> got <y>".
msg
is omitted "<msg:> " is not printedloc
is omitted "<loc> " is not printedfail_msg fmt
fails after pretty-printing fmt
val equal : ('a, 'a) equality_check
equal ?eq ?pp ?msg ?loc a b
checks that eq a b
and if not calls fail pp a b
msg loc
val unequal : ('a, 'a) equality_check
unequal ?eq ?pp ?msg ?loc a b
checks that eq a b
does not hold. See equal
for the rest of the documentation.
val equal_list : ('a, 'a list) equality_check
equal_list ?eq ?pp ?msg ?loc l1 l2
is like equal
but for polymorphic lists 'a list
.
val equal_list_list : ('a, 'a list list) equality_check
equal_list_list
is like equal
but for polymorphic lists of lists 'a
list list
.
val leq : ('a, 'a) comparison_check
leq ?cmp ?pp ?loc ?msg a b
checks that cmp a b <= 0
.
val lt : ('a, 'a) comparison_check
lt ?cmp ?pp ?loc ?msg a b
checks that cmp a b < 0
.
See leq
for details of the parameters.
val geq : ('a, 'a) comparison_check
geq ?cmp ?pp ?loc ?msg a b
checks that cmp a b >= 0
.
See leq
for details of the parameters.
val gt : ('a, 'a) comparison_check
gt ?cmp ?pp ?loc ?msg a b
checks that cmp a b > 0
.
See leq
for details of the parameters.
Assert that at least one value in l
satisfies f
.
contains m msg x ls
asserts that one testable in ls
equals x
, and otherwise fails with msg
val is_none :
?loc:string ->
?msg:string ->
?pp:(Stdlib.Format.formatter -> 'a -> unit) ->
'a option ->
unit
Check that an option value is None
.
module type EQUALITIES = sig ... end
Assertions for equality/disequality
module type COMPARISONS = sig ... end
Checks for extra binary relations
module Bytes : COMPARISONS with type t = bytes
module Bool : COMPARISONS with type t = bool
val is_true : bool check1
val is_false : bool check1
module String : sig ... end
module Int32 : sig ... end
module Int64 : sig ... end
module Int : sig ... end
module type COMPARABLE = sig ... end
module type EQUALABLE = sig ... end
module Make_equalities (X : EQUALABLE) : EQUALITIES with type t = X.t
Provide equality-based assertions for type X.t
module Make_comparisons (X : COMPARABLE) : COMPARISONS with type t = X.t
Provide all comparisons assertions for type X.t