Dzzirt / OOP

0 stars 0 forks source link

замечания по htmlencode #12

Open alexey-malov opened 8 years ago

alexey-malov commented 8 years ago

Обработка данных должна быть построчной посмотри пример с кастом итератором, либо сделай через getline

Dzzirt commented 8 years ago

Fixed

alexey-malov commented 8 years ago
    BOOST_AUTO_TEST_CASE(EncodeNotEmptyString)
    {
        std::string source = R"(a"bb'c<<d>>e&&&)";
        BOOST_CHECK_EQUAL(HtmlEncode(source), "a&quot;bb&apos;c&lt;&lt;d&dt;&dt;e&amp;&amp;&amp;");
    };
    BOOST_AUTO_TEST_CASE(EncodeEmptyString)
    {
        std::string source = "";
        BOOST_CHECK_EQUAL(HtmlEncode(source), "");
    };

тестовые данные должны представлять из себя текст, читаемый человеком точку с запятой после } тест-кейса ставить не нужно. имена тестам лучше дать такие, чтобы они читались как спецификация, описывающая поведение функции

Минутка грамматики replace with vs replace by: http://english.stackexchange.com/questions/151309/replace-with-versus-replace-by

alexey-malov commented 8 years ago

Разработайте на ее основе программу, выполняющую построчное html-кодирование текста, поступающего со стандартного потока ввода, и выводящую результат в стандартный поток вывода.

Твоя же программа кодирует только первую строку текста

При помощи CGetlineIterator можно выполнить данную задачу вызывая HtmlEncode через алгоритм std::transform https://github.com/alexey-malov/oop/blob/master/samples/02-stl-tdd/CustomIterator/main.cpp (вместо copy используй transform с функцией HtmlEncode в качестве трансформирующей функции)

alexey-malov commented 8 years ago

k=0,85