-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathtest.lisp
41 lines (34 loc) · 931 Bytes
/
test.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(in-package #:cl-user)
(defpackage #:cl-arrows-test
(:use #:cl #:cl-arrows #:hu.dwim.stefil))
(in-package #:cl-arrows-test)
(defsuite* test-cl-arrows)
(deftest test--> ()
(is (= (-> 3 /) 1/3))
(is (= (-> 3 (/)) 1/3))
(is (= (-> 3 (/ 2)) 3/2))
(is (= (-> 3 (/ 2) /) 2/3)))
(deftest test-->> ()
(is (= (->> 3 /) 1/3))
(is (= (->> 3 (/)) 1/3))
(is (= (->> 3 (/ 2)) 2/3))
(is (= (->> 3 (/ 2) /) 3/2)))
(deftest test--<> ()
(is (= (-<> 3 /) 1/3))
(is (= (-<> 3 (/)) 1/3))
(is (= (-<> 3 (/ 2)) 3/2))
(is (= (-<> 3 (/ 2) /) 2/3))
(is (= (let ((x 3))
(-<> (incf x)
(+ <> <>)))
8)))
(deftest test--<>> ()
(is (= (-<>> 3 /) 1/3))
(is (= (-<>> 3 (/)) 1/3))
(is (= (-<>> 3 (/ 2)) 2/3))
(is (= (-<>> 3 (/ 2) /) 3/2))
(is (= (-<>> (list 1 2 3)
(remove-if #'oddp <> :count 1 :from-end t)
(reduce #'+)
/)
1/3)))