bool TestDataReaders::TestCSVDataReader(SourceReader* sourceReader, vector<CSVDataType*> results) { bool ok = true; DataReader* dataReader = new CSVDataReader(sourceReader); for (int i = 0; i < results.size(); ++i) { CSVDataType* csvDataType = (CSVDataType*) dataReader->GetNextData(); if (csvDataType == NULL || results[i] == NULL) { if (csvDataType != NULL || results[i] != NULL) ok = false; } else { if (csvDataType->GetColNames() != results[i]->GetColNames()) ok = false; else { int size = csvDataType->GetColNames().size(); for (int j = 0; j < size; ++j) { if (csvDataType->GetValue(j) != results[i]->GetValue(j)) { ok = false; } } } delete csvDataType; } } delete dataReader; return ok; }
bool TestDataReaders::TestLineDataReader(SourceReader* sourceReader, vector<StringDataType> results) { bool ok = true; DataReader* dataReader = new LineDataReader(sourceReader); for (int i = 0; i < results.size(); ++i) { StringDataType* stringDataType = (StringDataType*) dataReader->GetNextData(); if (stringDataType->GetString() != results[i].GetString()) ok = false; delete stringDataType; } delete dataReader; return ok; }