|
|
|
package main
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
|
|
|
func TestHello(t *testing.T) {
|
|
|
|
t.Run("saying hello to people", func(t *testing.T) {
|
|
|
|
got := Hello("Drew", "")
|
|
|
|
expected := "Hello, Drew"
|
|
|
|
assertCorrectMessage(t, got, expected)
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("say 'Hello, world' when an empty string is supplied", func(t *testing.T) {
|
|
|
|
got := Hello("", "")
|
|
|
|
expected := "Hello, World"
|
|
|
|
assertCorrectMessage(t, got, expected)
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("in Spanish", func(t *testing.T) {
|
|
|
|
got := Hello("Elodie", "Spanish")
|
|
|
|
expected := "Hola, Elodie"
|
|
|
|
assertCorrectMessage(t, got, expected)
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("in French", func(t *testing.T) {
|
|
|
|
got := Hello("Drew", "French")
|
|
|
|
expected := "Bonjour, Drew"
|
|
|
|
assertCorrectMessage(t, got, expected)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
func assertCorrectMessage(t testing.TB, got, expected string) {
|
|
|
|
// Needed to tell the test suite that this method is a helper.
|
|
|
|
// By doing this when it fails the line number reported will be in
|
|
|
|
// our function call rather than inside our test helper.
|
|
|
|
t.Helper()
|
|
|
|
if got != expected {
|
|
|
|
t.Errorf("got %q, expected %q", got, expected)
|
|
|
|
}
|
|
|
|
}
|