From 3932b66634a3fa3df35a90862a2a6b9da9253aef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krejczinger=20=C3=81rp=C3=A1d?= Date: Mon, 16 Mar 2026 00:22:46 +0100 Subject: [PATCH] Add array sum module --- arrays/sum.go | 10 ++++++++++ arrays/sum_test.go | 27 +++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 arrays/sum.go create mode 100644 arrays/sum_test.go diff --git a/arrays/sum.go b/arrays/sum.go new file mode 100644 index 0000000..e5bb950 --- /dev/null +++ b/arrays/sum.go @@ -0,0 +1,10 @@ +package main + +func Sum(numbers []int) int { + sum := 0 + // example: for ... in equivalent, first var has index + for _, number := range numbers { + sum += number + } + return sum +} diff --git a/arrays/sum_test.go b/arrays/sum_test.go new file mode 100644 index 0000000..4393a4c --- /dev/null +++ b/arrays/sum_test.go @@ -0,0 +1,27 @@ +package main + +import "testing" + +func TestSum(t *testing.T) { + t.Run("collection of 5 numbers", func(t *testing.T) { + numbers := []int{1, 2, 3, 4, 5} + + got := Sum(numbers) + want := 15 + + if got != want { + t.Errorf("got %d want %d given, %v", got, want, numbers) + } + }) + + t.Run("collection of any size", func(t *testing.T) { + numbers := []int{1, 2, 3} + + got := Sum(numbers) + want := 6 + + if got != want { + t.Errorf("got %d want %d given, %v", got, want, numbers) + } + }) +}