From ef3c63d7f4f4223941644ab48211cb8d0bc9aba0 Mon Sep 17 00:00:00 2001 From: Michael Thomson Date: Sat, 25 May 2024 00:50:51 -0400 Subject: [PATCH] iteration --- iteration/repeat.go | 11 +++++++++++ iteration/repeat_test.go | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 iteration/repeat.go create mode 100644 iteration/repeat_test.go diff --git a/iteration/repeat.go b/iteration/repeat.go new file mode 100644 index 0000000..d508a72 --- /dev/null +++ b/iteration/repeat.go @@ -0,0 +1,11 @@ +package iteration + +const repeatCount = 5 + +func Repeat(character string) string { + var repeated string + for i := 0; i < repeatCount; i++ { + repeated += character + } + return repeated +} diff --git a/iteration/repeat_test.go b/iteration/repeat_test.go new file mode 100644 index 0000000..4ac4493 --- /dev/null +++ b/iteration/repeat_test.go @@ -0,0 +1,18 @@ +package iteration + +import "testing" + +func TestRepeat(t *testing.T) { + repeated := Repeat("a") + expected := "aaaaa" + + if repeated != expected { + t.Errorf("expected %q but got %q", expected, repeated) + } +} + +func BenchmarkRepeat(b *testing.B) { + for i := 0; i < b.N; i++ { + Repeat("a") + } +}