Я знаю, что String(data:encoding:)
сбой инициализатора.
Я создал функцию, которая принимает данные в качестве параметра и выдает ошибку, если строка не может быть создана из данных с использованием кодировки как utf16BigEndian. Это как показано ниже:
func createUTF16BEString(data: Data) throws -> String {
guard let string = String(data: data, encoding: .utf16BigEndian) else {
throw NSError(domain:"MyAppDomain", code: 33, userInfo: nil)
}
return string
}
Я пишу тесты для этой функции, чтобы охватить как успехи, так и неудачи (где выдается ошибка).
Пока у меня ограниченное понимание кодировок.
Я написал тесты, которые работают для успешного возврата строки.
Моя проблема в том, какие данные передавать (или, скажем, в байтах), поэтому мои тесты охватывают случай, когда моя func createUTF16BEString(data:)
выдает ошибку в результате String(data:encoding:)
, возвращающего ноль.
Пожалуйста, предложите мне, какие данные должны быть переданы, или расширите мои знания о кодировках (чтобы я мог вычислить байты), чтобы покрыть упомянутый выше тест.