summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2019-10-26 14:29:44 -0600
committermo khan <mo.khan@gmail.com>2019-10-26 14:29:44 -0600
commitdcb726e7fabc7d68f69b697c2058404f74041a18 (patch)
tree3e41737d89c619951492a5544836f6189172ffb9
parent7cfb98e20738df4860fb8a2e64f4dff3ab21705f (diff)
Use a slice instead of fixed size array
-rw-r--r--sum.go2
-rw-r--r--sum_test.go24
2 files changed, 19 insertions, 7 deletions
diff --git a/sum.go b/sum.go
index 1124cc4..a33655a 100644
--- a/sum.go
+++ b/sum.go
@@ -1,6 +1,6 @@
package main
-func Sum(numbers [5]int) int {
+func Sum(numbers []int) int {
sum := 0
for _, number := range numbers {
sum += number
diff --git a/sum_test.go b/sum_test.go
index a2f1833..a65911b 100644
--- a/sum_test.go
+++ b/sum_test.go
@@ -3,11 +3,23 @@ package main
import "testing"
func TestSum(test *testing.T) {
- numbers := [5]int{1, 2, 3, 4, 5}
- got := Sum(numbers)
- want := 15
+ test.Run("collection of 5 numbers", func(test *testing.T) {
+ numbers := []int{1, 2, 3, 4, 5}
+ got := Sum(numbers)
+ want := 15
- if got != want {
- test.Errorf("got %d want %d given, %v", got, want, numbers)
- }
+ if got != want {
+ test.Errorf("got %d want %d given, %v", got, want, numbers)
+ }
+ })
+
+ test.Run("collection of any size", func(test *testing.T) {
+ numbers := []int{1, 2, 3}
+ got := Sum(numbers)
+ want := 6
+
+ if got != want {
+ test.Errorf("got %d want %d given, %v", got, want, numbers)
+ }
+ })
}