From e717b9c9b83b9b3432a4b1e5aaa1cca9face3154 Mon Sep 17 00:00:00 2001 From: Norbert Melzer Date: Sun, 14 Aug 2016 10:01:31 +0200 Subject: [PATCH 1/3] [sum-of- multiples] adjust testsuite to match common-testdata This exercise has got common testdata quite a while ago. This commit implements that common testdata in the most recent version. It does not use a generator though. --- .../test/sum_of_multiples_test.clj | 35 +++++++++++++------ 1 file changed, 25 insertions(+), 10 deletions(-) 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)))) From 340ba826a8cd5871d96e169d727dc02eb388ed33 Mon Sep 17 00:00:00 2001 From: Norbert Melzer Date: Sun, 14 Aug 2016 10:05:16 +0200 Subject: [PATCH 2/3] [sum-of-multiples] remove unused code in example Due to the changes in the test suite, there was an unused functionclause left in the examples, which gets removed by this commit. --- exercises/sum-of-multiples/src/example.clj | 1 - 1 file changed, 1 deletion(-) diff --git a/exercises/sum-of-multiples/src/example.clj b/exercises/sum-of-multiples/src/example.clj index 1f847c01d..2077965b0 100644 --- a/exercises/sum-of-multiples/src/example.clj +++ b/exercises/sum-of-multiples/src/example.clj @@ -5,7 +5,6 @@ ([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)))) From e464056cc14088066f6529236792adf18dd7c2b7 Mon Sep 17 00:00:00 2001 From: Norbert Melzer Date: Sun, 14 Aug 2016 17:39:01 +0200 Subject: [PATCH 3/3] =?UTF-8?q?[sum-of-multiples]=20made=20function=20?= =?UTF-8?q?=E2=80=9Cnormal=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before it was a multi-clause function with a single clause. --- exercises/sum-of-multiples/src/example.clj | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/exercises/sum-of-multiples/src/example.clj b/exercises/sum-of-multiples/src/example.clj index 2077965b0..c9996584c 100644 --- a/exercises/sum-of-multiples/src/example.clj +++ b/exercises/sum-of-multiples/src/example.clj @@ -4,7 +4,6 @@ ([n] (fn [d] (divides? n d))) ([n d] (zero? (rem n d)))) -(defn sum-of-multiples - ([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)))