Commit dcb726e

mo khan <mo.khan@gmail.com>
2019-10-26 20:29:44
Use a slice instead of fixed size array
1 parent 7cfb98e
Changed files (2)
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
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)
+    }
+  })
 }