Тестирование программы с++
Есть простая программа с++ (пишу в Xcode) и папка с тестами (тест - текстовый файл, пример: данные - "01", ответ - "01.a"). Использовал ifstream для получения данных и ответа из файла, но приходиться постоянно менять 2 цифры в названиях файлов для перехода к следующему тесту. Как сделать быструю проверку?
Ответы (1 шт):
Автор решения: Swift
→ Ссылка
На самом деле часть с filesystem довольно проста - используем итератор и считаем имена обычных файлов, dirpath тут должен содержать имя существующей папки или итератор возвратит end(),
// наша функция проверки соответствия имени требуемому шаблону
is_proper_filename(const std::string& fn) {
//...
}
namespace fs = std::filesystem;
std::set<std::string> filenames;
Заполнение списка имен используя directory_entry
for(auto & entry: fs::directory_iterator(dirpath))
{
if(entry.is_regular_file() && is_proper_filename(entry.path()))
filenames.insert(entry.path());
}
У нас есть отсортированный список имен, осталось только вызывать рабочую процедуру для каждого.