воскресенье, 10 августа 2014 г.

Задачка по фиксанию проваленного юнит-теста

Есть юнит тест:


BOOST_AUTO_TEST_CASE(testEscapeSequenceWithAsciiAndOneNonAscii)
{
    unsigned char bytes[] = { '.', 't', 'e', 0x0, 'x', 't' };

    size_t len = sizeof(bytes) / sizeof(*bytes);
    BOOST_ASSERT(StringUtils::escape_sequence(bytes, len) == std::string(".te\\x0xt"));
}
В этом кейсе применяется escape_sequence(), которая переданный массив байт конвертирует в строку точно также как в Python 3.3 тип 'bytes' конвертируется в тип 'str'.

Вопрос: Что неправильно в этом тесте и как его надо править чтобы он проходил?