cl-fn / t / sapply.lisp

(in-package :cl-fn.test)

(5am:in-suite sapply)

(5am:test sapply/sequentially-apply
  (5am:is (eq t (sequentially-apply t)))
  (5am:is (= 0 (sequentially-apply 0)))
  (5am:is (= 0 (sequentially-apply (values 0))))
  (5am:is (eq t (sequentially-apply :ignored t)))
  (5am:is (eq t (sequentially-apply :ignored (values t))))
  (5am:is (eq t (sequentially-apply t _)))
  (5am:is (= 0 (sequentially-apply 0 _)))
  (5am:is (eq t (sequentially-apply t (identity _))))
  (5am:is (= 0 (sequentially-apply 0 (identity _))))
  (5am:is (= 2 (sequentially-apply 0 (1+ _) (1+ _))))
  (5am:is (= 8 (sequentially-apply 1 (- 5 _) (* _ 2))))
  (5am:is (equal '(0 1)
                 (multiple-value-list (sequentially-apply (values 0 1)))))
  (5am:is (equal '(0 1)
                 (sequentially-apply (values 0 1)
                   (list _ _)))))

(5am:test sapply/->
  (5am:is (eq t (-> t)))
  (5am:is (= 0 (-> 0)))
  (5am:is (eq t (-> (values t))))
  (5am:is (eq t (-> t (identity))))
  (5am:is (= 0 (-> 0 (identity))))
  (5am:is (= 2 (-> 0 (1+) (1+))))
  (5am:is (= -8 (-> 1 (- 5) (* 2))))
  (5am:is (= 2 (-> '(1 2 3) (elt 1)))))

(5am:test sapply/->>
  (5am:is (eq t (->> t)))
  (5am:is (= 0 (->> 0)))
  (5am:is (eq t (->> (values t))))
  (5am:is (eq t (->> t (identity))))
  (5am:is (= 0 (->> 0 (identity))))
  (5am:is (= 2 (->> 0 (1+) (1+))))
  (5am:is (= 8 (->> 1 (- 5) (* 2))))
  (5am:is (= 6 (->> '(1 2 3) (reduce #'+)))))
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.