package iteration import ( "fmt" "testing" ) func TestRepeat(t *testing.T) { t.Run("RepeatFive a", func(t *testing.T) { got := RepeatFive("a") want := "aaaaa" assertResult(t, got, want) }) t.Run("RepeatFive z", func(t *testing.T) { got := RepeatFive("z") want := "zzzzz" assertResult(t, got, want) }) t.Run("repeat z, 11 times", func(t *testing.T) { got := Repeat("z", 11) want := "zzzzzzzzzzz" assertResult(t, got, want) }) } func ExampleRepeatFive() { fmt.Println(RepeatFive("y")) // Output: yyyyy } func ExampleRepeat() { fmt.Println(Repeat("t", 7)) // Output: ttttttt } 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() { RepeatFive("a") } }