summaryrefslogtreecommitdiff
path: root/test/main.lali
diff options
context:
space:
mode:
Diffstat (limited to 'test/main.lali')
-rw-r--r--test/main.lali40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/main.lali b/test/main.lali
new file mode 100644
index 0000000..a3e4b9a
--- /dev/null
+++ b/test/main.lali
@@ -0,0 +1,40 @@
+(defun test (test-expr res)
+ (princ
+ (list (fill
+ ((differ (eval test-expr) res) 'ok)
+ ('f 'fail))
+ '--> test-expr))
+ (newline))
+
+;; atom
+(test '(atom 'a) t)
+(test '(atom '(x . a)) f)
+;(test '(atom 'a) undef)
+
+;; dif
+(test '(dif 'a 'b) t)
+(test '(dif 'a 'a) f)
+(test '(dif 'a '(b . c)) t)
+(test '(dif '(b . c) '(b . c)) t)
+
+;; car
+(test '(car '(a . b)) 'a)
+(test '(car '((a . b) . c)) '(a . b))
+;(test '(car 'a) undef)
+
+;; cdr
+(test '(cdr '(a . b)) 'b)
+(test '(cdr '((a . b) . c)) 'c)
+;(test '(cdr 'a) undef)
+
+;; cons
+(test '(cons 'a 'b) '(a . b))
+(test '(cons '(a . b) 'c) '((a . b) . c))
+
+;; or
+(test '(or t (car 'a)) t)
+;(test '(or (car 'a) t) undef)
+
+;; and
+(test '(and f (car 'a)) f)
+;(test '(and (car 'a) f) undef)