Add special case for empty string

This commit is contained in:
Timothy Warren 2023-09-29 10:15:35 -04:00
parent 546072d1ad
commit 2402ace394
2 changed files with 17 additions and 2 deletions

View File

@ -5,6 +5,10 @@ import "fmt"
const englishHelloPrefix = "Hello, " const englishHelloPrefix = "Hello, "
func Hello(name string) string { func Hello(name string) string {
if name == "" {
name = "World"
}
return englishHelloPrefix + name return englishHelloPrefix + name
} }

View File

@ -3,9 +3,20 @@ package main
import "testing" import "testing"
func TestHello(t *testing.T) { func TestHello(t *testing.T) {
got := Hello("Chris") t.Run("saying hello to people", func(t *testing.T) {
want := "Hello, Chris" got := Hello("Chris")
want := "Hello, Chris"
assertCorrectMessage(t, got, want)
})
t.Run("say 'Hello, World' when an empty string is supplied", func(t *testing.T) {
got := Hello("")
want := "Hello, World"
assertCorrectMessage(t, got, want)
})
}
func assertCorrectMessage(t testing.TB, got, want string) {
t.Helper()
if got != want { if got != want {
t.Errorf("got %q want %q", got, want) t.Errorf("got %q want %q", got, want)
} }