summaryrefslogtreecommitdiff
path: root/test.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'test.fnl')
-rw-r--r--test.fnl24
1 files changed, 24 insertions, 0 deletions
diff --git a/test.fnl b/test.fnl
new file mode 100644
index 0000000..cb26858
--- /dev/null
+++ b/test.fnl
@@ -0,0 +1,24 @@
+;; requires `eq?' from core.fnl to be available at runtime
+
+(fn assert-eq [expr1 expr2 msg]
+ `(let [left# ,expr1
+ right# ,expr2
+ view# (require :fennelview)]
+ (assert (eq? left# right#) (or ,msg (.. "equality assertion failed
+ Left: " (view# ,expr1) "
+ Right: " (view# ,expr2) "\n")))))
+
+(fn assert-ne [expr1 expr2 msg]
+ `(let [left# ,expr1
+ right# ,expr2
+ view# (require :fennelview)]
+ (assert (not (eq? left# right#)) (or ,msg (.. "unequality assertion failed
+ Left: " (view# ,expr1) "
+ Right: " (view# ,expr2) "\n")))))
+
+(fn assert* [expr msg]
+ `(assert ,expr (.. "assertion failed for " ,(or msg (tostring expr)))))
+
+{: assert-eq
+ : assert-ne
+ : assert*}