(ns fold-length.tests (require [clojure.test :refer [deftest testing are is run-tests]] [fold-length :as sut])) (deftest fold-length-tests (testing "Given an empty collection it must return 0" (is (zero? (sut/fold-length [])))) (testing "Given a repeated single value it must return the number of times the value is repeated" (are [number] (= number (sut/fold-length (repeat number \q))) 0 1 2 11 1010)) (testing "Given a string it must return the number of characters in it" (are [s] (= (count s) (sut/fold-length (seq s))) "Mike Harris" "clojure" "something, something, dark side"))) (run-tests)