package main import ( "fmt" "testing" ) func TestCleanInput(t *testing.T) { cases := []struct { input string expected []string }{ { input: " hello world ", expected: []string{"hello", "world"}, }, { input: "Charmander Bulbasaur PIKACHU", expected: []string{"charmander", "bulbasaur", "pikachu"}, }, { input: "", expected: []string{}, }, } successCount := 0 failCount := 0 passed := true for _, c := range cases { output := cleanInput(c.input) for i := range output { word := output[i] expectedWord := c.expected[i] if word != expectedWord { passed = false break } } if !passed { t.Errorf(` =================== Input: %v Expected: %v Output: %v `, c.input, c.expected, output) failCount++ } else { fmt.Printf(` =================== Input: %v Expected: %v Output: %v `, c.input, c.expected, output) successCount++ } } fmt.Printf("%d passed, %d failed", successCount, failCount) }