/** * @brief Tests import of ImportNewData. */ void TestCreateAsset::testImport() { QDate startDate = QDate::fromString("2014-01-01", "yyyy-MM-dd"); QDate endDate = QDate::fromString("2014-02-01", "yyyy-MM-dd"); Asset b = Asset("Gogolea", "../Examples/Gogolea_test.csv", "Yahoo", startDate, endDate); CreateAsset algo = CreateAsset(); algo.import(b, "../../Examples/table.csv"); SessionSaver::getInstance()->saveAsset(b); QString data; QFile importedCSV(b.getAbsolutePathToFile()); QStringList dataRows; QStringList dataRow; if (importedCSV.open(QFile::ReadOnly)) { data = importedCSV.readAll(); dataRows = data.split("\n"); importedCSV.close(); } QCOMPARE(dataRows.size(), 23); // Checks first date: dataRow = dataRows.at(1).split(","); QVERIFY(endDate >= QDate::fromString(dataRow[0], "yyyy-MM-dd")); // Checks last date: dataRow = dataRows.at(dataRows.size()-2).split(","); QVERIFY(startDate <= QDate::fromString(dataRow[0], "yyyy-MM-dd")); Asset *a = SessionBuilder::getInstance()->buildAsset("Gogolea"); QVERIFY(a->getFile() == "../Examples/Gogolea_test.csv"); QVERIFY(a->getStartDate() == startDate); QVERIFY(a->getEndDate() == endDate); QVERIFY(a->getName() == "Gogolea"); QVERIFY(a->getOrigin() == "Yahoo"); QVERIFY(AssetsFactory::getInstance()->retrieveAsset("Gogolea") != NULL); //Verify the day of week int size = dataRows.size(); for (int x =1; x < size; x++) { dataRow = dataRows.at(x).split(","); QVERIFY((QDate::fromString(dataRow[0], "yyyy-MM-dd").dayOfWeek() <= 5)); } // Deletes the database file: QFile databaseFile(SessionSaver::getInstance()->getDatabaseFile()); databaseFile.remove(); }