Re[10]: Типовые задачи на собеседованиях по программированию
От: AlexGin Беларусь  
Дата: 14.12.16 16:30
Оценка:
Здравствуйте, 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);
    }
}


Как вариант — это сохранение в вектор подключать через опцию препроцессора.
Отредактировано 14.12.2016 16:42 AlexGin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.