diff options
| author | Andrey Listopadov <andreyorst@gmail.com> | 2021-03-13 11:31:54 +0300 |
|---|---|---|
| committer | Andrey Listopadov <andreyorst@gmail.com> | 2021-03-13 11:31:54 +0300 |
| commit | 0a6045892511d056ee057354944ec6d8d996a7ca (patch) | |
| tree | c0c30a15c7bfb878495e71bf21ef60ace01041c5 /tests | |
| parent | 7e32709879d00369b9b6677d7401c7c78a131223 (diff) | |
fix: allow `reduced` to return nil and false values
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/core.fnl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/core.fnl b/tests/core.fnl index 69a6678..f76e58c 100644 --- a/tests/core.fnl +++ b/tests/core.fnl @@ -411,11 +411,17 @@ (assert-eq (reduce #(if (> $1 10) (reduced -1) (+ $1 $2)) 0 [10 5]) 15) (assert-eq (reduce #(if (> $1 10) (reduced -1) (+ $1 $2)) 1 [10 7]) -1) + (assert-eq (reduce #(if (> $1 10) (reduced false) (+ $1 $2)) 1 [10 7]) false) + (assert-eq (reduce #(if (> $1 10) (reduced nil) (+ $1 $2)) 1 [10 7]) nil) + (assert-eq (reduce-kv (fn [res _ v] (if (> res 10) (reduced -1) (+ res v))) 0 {:a 1 :b 2}) 3) (assert-eq (reduce-kv (fn [res _ v] (if (> res 10) (reduced -1) (+ res v))) 0 {:a 10 :b 2}) 12) (assert-eq (reduce-kv (fn [res _ v] (if (> res 10) (reduced -1) (+ res v))) 1 {:a 3 :b 3 :c 3 :d 3}) 13) (assert-eq (reduce-kv (fn [res _ v] (if (> res 10) (reduced -1) (+ res v))) 2 {:a 3 :b 3 :c 3 :d 3}) -1) - (assert-eq (reduce-kv (fn [res _ v] (if (> res 10) (reduced -1) (+ res v))) 1 [10 12]) -1)) + (assert-eq (reduce-kv (fn [res _ v] (if (> res 10) (reduced -1) (+ res v))) 1 [10 12]) -1) + + (assert-eq (reduce-kv (fn [res _ v] (if (> res 10) (reduced false) (+ res v))) 1 [10 12]) false) + (assert-eq (reduce-kv (fn [res _ v] (if (> res 10) (reduced nil) (+ res v))) 1 [10 12]) nil)) (testing "assoc" (assert-not (pcall assoc)) |