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") + } +}