File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change 1+ (ns clojure.core-test.partial
2+ (:require [clojure.test :as t]))
3+
4+ (defn test-fn [& args]
5+ (into [] args))
6+
7+ (t/deftest test-partial
8+ (let [simple-use (partial inc 2 )]
9+ (t/is (= 3 (simple-use ))))
10+ (let [lazily-evaluated (partial inc 2 3 )]
11+ #?(:clj (t/is (thrown? Exception (lazily-evaluated )))
12+ :cljs (t/is (thrown? js/Error (lazily-evaluated )))))
13+ (let [variadic (partial test-fn 1 2 3 )]
14+ (t/is (= [1 2 3 4 ] (variadic 4 )))
15+ (t/is (= [1 2 3 4 5 ] (variadic 4 5 ))))
16+ (let [infinite-sequence (partial #(take %2 %1 ) (range ))]
17+ (t/is (= '(0 1 2 3 4 ) (infinite-sequence 5 )))
18+ (t/is (= '(0 1 2 ) (infinite-sequence 3 ))))
19+ (let [partial-partial ((partial partial) test-fn)
20+ pppartial (partial partial-partial :inner )]
21+ (t/is (= [:inner :outer ] (partial-partial :inner :outer )))
22+ (t/is (= [:inner :outer ] (pppartial :outer ))))
23+ (let [seq-of-partials (map #(partial * %1 %2 ) (range ) (range ))]
24+ (t/is (= (map #(* % % %) (range 5 ))
25+ (map #(%1 %2 ) seq-of-partials (range 5 ))))))
You can’t perform that action at this time.
0 commit comments