Вопрос пользователя:

Функция GetUTFLength(input []byte) (int, error) возвращает длину строки UTF8 и ошибку ErrInvalidUTF8 (в случае возникновения). Напишите тест, который бы проверял возвращаемые функцией значения. var ErrInvalidUTF8 = errors.New("invalid utf8") func GetUTFLength(input []byte) (int, error) {  if !utf8.Valid(input) {   return 0, ErrInvalidUTF8  }  return utf8.RuneCount(input), nil } Примечания Функцию GetUTFLength реализовывать не нужно.

Ответ нейросети:

package main

import ( "reflect" "testing" )

func TestGetUTFLength(t *testing.T) { tests := []struct { input []byte expected int err error }{ {[]byte("hello"), 5, nil}, {[]byte("привет"), 6, nil}, {[]byte{0xff, 0xfe, 0xfd}, 0, ErrInvalidUTF8}, }

for _, test := range tests {
	result, err := GetUTFLength(test.input)
	if result != test.expected {
		t.Errorf("For input %v, expected %d, but got %d", test.input, test.expected, result)
	}
	if !reflect.DeepEqual(err, test.err) {
		t.Errorf("For input %v, expected error %v, but got %v", test.input, test.err, err)
	}
}

}

Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.

Напишите нам, если в вопросе есть ваши персональные данные ([email protected])

Все вопросы

Последние вопросы: