package main
import "testing"
type Test struct {
old string
new string
}
var tests = []Test{
{"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", "BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz"},
{"zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA", "zyxwvtsrqpnmlkjhgfdcbZYXWVTSRQPNMLKJHGFDCB"},
{"Hello, world!", "Hll, wrld!"},
{"1234567890ao", "1234567890"},
}
func TestDeleteVowels(t *testing.T) {
for i, test := range tests {
line := DeleteVowels(test.old)
if line !=
test.new {
t.Errorf("#%d: DeleteVowels(%s)=%s; want %s", i, test.old, line,
test.new )
}
}
}
Тест DeleteVowels
Напишите тест для функции DeleteVowels(s string) string, которая должна удалять все гласные из строки английского языка (y не считается гласной).
Используйте table driven testing.
Примечания
Функцию DeleteVowels реализовывать не нужно.
Ввод:
package main
import "unicode"
func DeleteVowels(s string) string {
var result string
for i := 0; i < len(s); i++ {
switch unicode.ToLower(rune(s[i])) {
case 'a':
continue
case 'e':
continue
case 'i':
continue
case 'o':
continue
case 'u':
continue
}
result += string(s[i])
}
return result
}