diff --git a/iteration/iteration.go b/iteration/iteration.go new file mode 100644 index 0000000..1a75dcc --- /dev/null +++ b/iteration/iteration.go @@ -0,0 +1,12 @@ +package iteration + +const repeatCount = 5 + +func Repeat(character string) string { + var repeated string + for range repeatCount { + repeated = repeated + character + } + + return repeated +} diff --git a/iteration/iteration_test.go b/iteration/iteration_test.go new file mode 100644 index 0000000..253fc2a --- /dev/null +++ b/iteration/iteration_test.go @@ -0,0 +1,22 @@ +package iteration + +import "testing" + +func TestRepeat(t *testing.T) { + got := Repeat("a") + want := "aaaaa" + assertResult(t, got, want) +} + +func assertResult(t testing.TB, got, want string) { + t.Helper() + if got != want { + t.Errorf("got %q want %q", got, want) + } +} + +func BenchmarkRepeat(b *testing.B) { + for b.Loop() { + Repeat("a") + } +}