aboutsummaryrefslogtreecommitdiff
path: root/exts/tests
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-12-14 17:41:43 +0800
committerMistivia <i@mistivia.com>2025-12-14 17:41:43 +0800
commit1232e077f5273d86600cb4a4c34269310f9f2b9f (patch)
treee1a28eb054ed001737b7d49bd8341cb4e5d26997 /exts/tests
parent724718566c384d8be60f2803e5ecd6be43c6d74b (diff)
add io ext
Diffstat (limited to 'exts/tests')
-rw-r--r--exts/tests/test_dict.lisp17
-rw-r--r--exts/tests/test_io.lisp15
2 files changed, 32 insertions, 0 deletions
diff --git a/exts/tests/test_dict.lisp b/exts/tests/test_dict.lisp
new file mode 100644
index 0000000..501faba
--- /dev/null
+++ b/exts/tests/test_dict.lisp
@@ -0,0 +1,17 @@
+(loadext "./dict.so")
+
+(defvar d (make-dict))
+
+(dict-set d "a" 1)
+(dict-set d "b" 2)
+(dict-set d "c" 3)
+
+(assert (equal? (dict-keys d) (list "a" "b" "c")))
+(assert (equal? (dict-get d "a") 1))
+(assert (equal? (dict-get d "b") 2))
+(dict-set d "a" 5)
+(assert (equal? (dict-get d "a") 5))
+
+(dict-remove d "b")
+
+(assert (equal? (dict-keys d) (list "a" "c"))) \ No newline at end of file
diff --git a/exts/tests/test_io.lisp b/exts/tests/test_io.lisp
new file mode 100644
index 0000000..76b91ce
--- /dev/null
+++ b/exts/tests/test_io.lisp
@@ -0,0 +1,15 @@
+(loadext "io.so")
+
+(defvar fp (open-file "./test_input.txt" "r"))
+(read-char fp)
+(read-char fp)
+(read-char fp)
+(stream-close fp)
+
+(defvar fp (open-file "./test_input.txt" "r"))
+(read-line fp)
+(stream-close fp)
+
+(defvar fp (open-file "./test_input.txt" "r"))
+(lines fp)
+(stream-close fp) \ No newline at end of file