summaryrefslogtreecommitdiff
path: root/core_test.fnl
diff options
context:
space:
mode:
authorAndrey Orst <andreyorst@gmail.com>2020-10-24 15:26:39 +0300
committerAndrey Orst <andreyorst@gmail.com>2020-10-24 15:26:39 +0300
commit83af7d7e9ffe3ae32e2cffbf59d204d3809ffe70 (patch)
treef7253f281d74a6960484f2f4389c2b78f321dc1d /core_test.fnl
parent76c5475a43d5c21b6b3e7fa00bf04bd94341f690 (diff)
more functions
Diffstat (limited to 'core_test.fnl')
-rw-r--r--core_test.fnl35
1 files changed, 33 insertions, 2 deletions
diff --git a/core_test.fnl b/core_test.fnl
index 673b007..fe2a71c 100644
--- a/core_test.fnl
+++ b/core_test.fnl
@@ -2,7 +2,25 @@
(import-macros {: into} :macros.core)
(import-macros {: assert-eq : assert-ne : assert* : test} :test)
-(local {: seq : mapv : mapkv : reduce : reduce-kv : conj : cons : consj : first : rest : eq? : identity : comp : every? : range} (require :core))
+(local {: seq
+ : mapv
+ : filter
+ : reduce
+ : reduce-kv
+ : conj
+ : cons
+ : first
+ : rest
+ : eq?
+ : identity
+ : comp
+ : every?
+ : some
+ : not-any?
+ : range
+ : even?
+ : odd?}
+ (require :core))
(test equality-test
;; comparing basetypes
@@ -70,9 +88,18 @@
"Alice Watson works as chief officer at Coffee With You"]))
(test reduce-test
- (fn ++ [a b] (+ a b))
+ (fn* ++
+ ([] 0)
+ ([a] a)
+ ([a b] (+ a b))
+ ([a b & c]
+ (var res (+ a b))
+ (each [_ v (ipairs c)]
+ (set res (+ res v)))
+ res))
(assert-eq (reduce ++ (range 10)) 45)
(assert-eq (reduce ++ -3 (range 10)) 42)
+ (assert-eq (reduce ++ 10 nil) 10)
(fn mapping [f]
@@ -86,3 +113,7 @@
init))
(assert-eq (reduce ++ (range 10)) (reduce- ++ 0 (range 10))))
+
+(test filter-test
+ (assert-eq (filter even? (range 10)) [0 2 4 6 8])
+ (assert-eq (filter odd? (range 10)) [1 3 5 7 9]))