shithub: mc

Download patch

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)
 	;;
 }