Информация об изменениях

Сообщение Re[10]: Типовые задачи на собеседованиях по программированию от 14.12.2016 16:30

Изменено 14.12.2016 16:42 AlexGin

Здравствуйте, antonio_banderas, Вы писали:

_>Скорей всего можно тестами подцепиться к std::cout, ну или если нельзя, выход в другой стрим направить, к которому подцепиться тестами. Всё. Дальше читаем output функции и проверяем.

А почему же не сделать сохранение результатов в коллекции — например в коллекции типа std::vector<string>
(это сохранение — подключать через опцию препроцессора) и в юнит-тесте уже данную коллекцию с выходными результатами крутить?
Re[10]: Типовые задачи на собеседованиях по программированию
Здравствуйте, antonio_banderas, Вы писали:

_>Скорей всего можно тестами подцепиться к std::cout, ну или если нельзя, выход в другой стрим направить, к которому подцепиться тестами. Всё. Дальше читаем output функции и проверяем.

А почему же не сделать сохранение результатов в коллекции — например в коллекции типа std::vector<string>
и в юнит-тесте уже данную коллекцию с выходными результатами крутить?

std::vector<string> vectOutStrings;
for (int i=1; i<=100; i++)
{
    bool mul3 = (i%3)==0;
    bool mul5 = (i%5)==0;

    if(mul3 && mul5)
    { 
    printf("FizzBuzz\n");
    vectOutStrings.push_back("FizzBuzz");
    }    
    else if(mul3) 
    {
    printf("Fizz\n");
    vectOutStrings.push_back("Fizz");
    }
    else if(mul5) 
    {
    printf("Buzz\n");
    vectOutStrings.push_back("Buzz");
    }
    else 
    {
    printf("%d\n",i);
    std::stringstream ss;
    ss << i;
    std::string s = ss.str();
    vectOutStrings.push_back(s);
    }
}


Как вариант — это сохранение в вектор подключать через опцию препроцессора.