ref: 745fee5b237ca93ba7c7d87030829edf177dc56d
parent: 9cb3a0f22ac95f75e87e944b95b6c5a13a4eb729
author: Ori Bernstein <ori@eigenstate.org>
date: Sun Feb 18 16:22:09 EST 2018
Add utility functions for testing.
--- a/lib/testr/testr.myr
+++ b/lib/testr/testr.myr
@@ -17,6 +17,8 @@
const ok : (ctx : ctx# -> void)
const fail : (ctx : ctx#, msg : byte[:], args : ... -> void)
const check : (ctx : ctx#, cond : bool, msg : byte[:], args : ... -> void)
+ generic eq : (ctx : ctx#, a : @t, b : @t -> void) :: std.equatable @t
+ generic neq : (ctx : ctx#, a : @t, b : @t -> void) :: std.equatable @t
const softfail : (ctx : ctx#, msg : byte[:], args : ... -> void)
;;
@@ -53,6 +55,18 @@
if !cond
ap = std.vastart(&args)
failv(ctx, msg, &ap)
+ ;;
+}
+
+generic eq = {ctx, a, b
+ if !std.eq(a, b)
+ fail(ctx, "{} != {}\n", a, b)
+ ;;
+}
+
+generic neq = {ctx, a, b
+ if std.eq(a, b)
+ fail(ctx, "{} != {}\n", a, b)
;;
}