Я пишу набор модульных тестов для класса декодирования текста. Я хотел бы написать тест, который правильно выполняет обработку не отображаемых значений input to CharsetDecoder
. Тем не менее, я изо всех сил, чтобы инициировать байтовый буфер, который делает это. Пример:
CharsetDecoder decoder = Charset.forName("utf-8").newDecoder();
decoder.onUnmappableCharacter(CodingErrorAction.REPORT);
ByteBuffer in = ?
CharBuffer out = CharBuffer.allocate(256);
CoderResult result = decoder.decode(in, out, true);
assertTrue(result.isUnmappable());
Как запустить байтовый буфер (строка 3) для передачи утверждения (строка 6)?
Вещи, которые не работают:
- NULL-символы (например, \ u0000, закодированные как utf-8)
- Управляющие символы (например, кодированные как utf-8)
- Неопределенные символы (например, \ u2065, закодированные как utf-8)
- Не-символы (например, \ ufdd0, закодированные как utf-8)
- Персональные символы (например, \ ue000, закодированные как utf-8)
- Автономное комбинирование символов (например, \ u0305, закодированное как utf-8).