diff --git a/exercises/sum-of-multiples/src/example.clj b/exercises/sum-of-multiples/src/example.clj index 1f847c01d..c9996584c 100644 --- a/exercises/sum-of-multiples/src/example.clj +++ b/exercises/sum-of-multiples/src/example.clj @@ -4,8 +4,6 @@ ([n] (fn [d] (divides? n d))) ([n d] (zero? (rem n d)))) -(defn sum-of-multiples - ([n] (sum-of-multiples [3 5] n)) - ([multiples n] - (reduce (fn [sum x] (cond-> sum (some (divides? x) multiples) (+ x))) - 0 (range 1 n)))) +(defn sum-of-multiples [multiples n] + (reduce (fn [sum x] (cond-> sum (some (divides? x) multiples) (+ x))) + 0 (range 1 n))) diff --git a/exercises/sum-of-multiples/test/sum_of_multiples_test.clj b/exercises/sum-of-multiples/test/sum_of_multiples_test.clj index 9343db15e..d0e8d68c3 100644 --- a/exercises/sum-of-multiples/test/sum_of_multiples_test.clj +++ b/exercises/sum-of-multiples/test/sum_of_multiples_test.clj @@ -3,22 +3,37 @@ sum-of-multiples)) (deftest sum-to-1 - (is (zero? (sum-of-multiples/sum-of-multiples 1)))) + (is (zero? (sum-of-multiples/sum-of-multiples '(3 5) 1)))) -(deftest sum-to-3 - (is (= 3 (sum-of-multiples/sum-of-multiples 4)))) +(deftest sum-to-4 + (is (= 3 (sum-of-multiples/sum-of-multiples '(3 5) 4)))) (deftest sum-to-10 - (is (= 23 (sum-of-multiples/sum-of-multiples 10)))) + (is (= 23 (sum-of-multiples/sum-of-multiples '(3 5) 10)))) (deftest sum-to-100 - (is (= 2318 (sum-of-multiples/sum-of-multiples 100)))) + (is (= 2318 (sum-of-multiples/sum-of-multiples '(3 5) 100)))) (deftest sum-to-1000 - (is (= 233168 (sum-of-multiples/sum-of-multiples 1000)))) + (is (= 233168 (sum-of-multiples/sum-of-multiples '(3 5) 1000)))) -(deftest sum-of-configurable-to-20 - (is (= 51 (sum-of-multiples/sum-of-multiples [7 13 17] 20)))) +(deftest sum-to-20-using-7-13-17 + (is (= 51 (sum-of-multiples/sum-of-multiples '(7 13 17) 20)))) -(deftest sum-of-configurable-to-10000 - (is (= 2203160 (sum-of-multiples/sum-of-multiples [43 47] 10000)))) +(deftest sum-to-15-using-4-6 + (is (= 30 (sum-of-multiples/sum-of-multiples '(4 6) 15)))) + +(deftest sum-to-150-using-5-6-8 + (is (= 4419 (sum-of-multiples/sum-of-multiples '(5 6 8) 150)))) + +(deftest sum-to-51-using-5-25 + (is (= 275 (sum-of-multiples/sum-of-multiples '(5 25) 51)))) + +(deftest sum-to-10_000-using-43-47 + (is (= 2203160 (sum-of-multiples/sum-of-multiples '(43 47) 10000)))) + +(deftest sum-to-100-using-1 + (is (= 4950 (sum-of-multiples/sum-of-multiples '(1) 100)))) + +(deftest sum-to-10_000-using-empty + (is (zero? (sum-of-multiples/sum-of-multiples '() 10000))))