From 0bd5881c7d27a3341c73bc7a0a98660c218b6df4 Mon Sep 17 00:00:00 2001 From: Alex <96dalex@gmail.com> Date: Wed, 23 Mar 2016 10:03:04 -0600 Subject: [PATCH] get rid of sum of multiples default arguments --- exercises/sum-of-multiples/example.exs | 4 +--- exercises/sum-of-multiples/sum_of_multiples.exs | 6 ++---- exercises/sum-of-multiples/sum_of_multiples_test.exs | 12 ++++++------ 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/exercises/sum-of-multiples/example.exs b/exercises/sum-of-multiples/example.exs index 44774a027c..f7f5be77fb 100644 --- a/exercises/sum-of-multiples/example.exs +++ b/exercises/sum-of-multiples/example.exs @@ -2,11 +2,9 @@ defmodule SumOfMultiples do @doc """ Adds up all numbers from 1 to a given end number that are multiples of the factors provided. - - The default factors are 3 and 5. """ @spec to(non_neg_integer, [non_neg_integer]) :: non_neg_integer - def to(limit, factors \\ [3, 5]) do + def to(limit, factors) do Enum.reduce(1..limit-1, 0, fn(n, acc) -> if Enum.any?(factors, &(rem(n, &1) == 0)), do: acc + n, else: acc end) end diff --git a/exercises/sum-of-multiples/sum_of_multiples.exs b/exercises/sum-of-multiples/sum_of_multiples.exs index dd696343e8..f96cc6f609 100644 --- a/exercises/sum-of-multiples/sum_of_multiples.exs +++ b/exercises/sum-of-multiples/sum_of_multiples.exs @@ -1,11 +1,9 @@ defmodule SumOfMultiples do @doc """ Adds up all numbers from 1 to a given end number that are multiples of the factors provided. - - The default factors are 3 and 5. """ @spec to(non_neg_integer, [non_neg_integer]) :: non_neg_integer - def to(limit, factors \\ [3, 5]) do - + def to(limit, factors) do + end end diff --git a/exercises/sum-of-multiples/sum_of_multiples_test.exs b/exercises/sum-of-multiples/sum_of_multiples_test.exs index 8759bd00c6..3205befd03 100644 --- a/exercises/sum-of-multiples/sum_of_multiples_test.exs +++ b/exercises/sum-of-multiples/sum_of_multiples_test.exs @@ -10,32 +10,32 @@ defmodule SumOfMultiplesTest do # @tag :pending test "sum to 1" do - assert SumOfMultiples.to(1) == 0 + assert SumOfMultiples.to(1, [3, 5]) == 0 end @tag :pending test "sum to 3" do - assert SumOfMultiples.to(4) == 3 + assert SumOfMultiples.to(4, [3, 5]) == 3 end @tag :pending test "sum to 10" do - assert SumOfMultiples.to(10) == 23 + assert SumOfMultiples.to(10, [3, 5]) == 23 end @tag :pending test "sum to 20" do - assert SumOfMultiples.to(20) == 78 + assert SumOfMultiples.to(20, [3, 5]) == 78 end @tag :pending test "sum to 100" do - assert SumOfMultiples.to(100) == 2318 + assert SumOfMultiples.to(100, [3, 5]) == 2318 end @tag :pending test "sum to 1000" do - assert SumOfMultiples.to(1000) == 233168 + assert SumOfMultiples.to(1000, [3, 5]) == 233168 end @tag :pending