diff --git a/tests/skgbankmodelertest/skgtestimportqif2.cpp b/tests/skgbankmodelertest/skgtestimportqif2.cpp index 1b22df55a..1dcf0a99c 100644 --- a/tests/skgbankmodelertest/skgtestimportqif2.cpp +++ b/tests/skgbankmodelertest/skgtestimportqif2.cpp @@ -1,457 +1,457 @@ /*************************************************************************** * Copyright (C) 2008 by S. MANKOWSKI / G. DE BURE support@mankowski.fr * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see * ***************************************************************************/ /** @file * This file is a test script. * * @author Stephane MANKOWSKI / Guillaume DE BURE */ #include "skgtestmacro.h" #include "skgbankincludes.h" #include "skgimportexportmanager.h" /** * The main function of the unit test * @param argc the number of arguments * @param argv the list of arguments */ int main(int argc, char** argv) { Q_UNUSED(argc); Q_UNUSED(argv); // Init test SKGINITTEST(true); QDate d(1970, 1, 1); { // 275963 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGBankObject bank(&document1); SKGUnitObject unit_euro(&document1); SKGUnitObject unit_dollar(&document1); SKGError err; { SKGAccountObject account; // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_INIT"), err); // Creation unit SKGTESTERROR(QStringLiteral("UNIT:setName"), unit_euro.setName(QStringLiteral("euro")), true); SKGTESTERROR(QStringLiteral("UNIT:setSymbol"), unit_euro.setSymbol(QStringLiteral("EUR")), true); SKGTESTERROR(QStringLiteral("UNIT:setType"), unit_euro.setType(SKGUnitObject::PRIMARY), true); SKGTESTERROR(QStringLiteral("UNIT:save"), unit_euro.save(), true); // Creation unitvalue SKGUnitValueObject unit_euro_val1; SKGTESTERROR(QStringLiteral("UNIT:addUnitValue"), unit_euro.addUnitValue(unit_euro_val1), true); SKGTESTERROR(QStringLiteral("UNITVALUE:setQuantity"), unit_euro_val1.setQuantity(1), true); SKGTESTERROR(QStringLiteral("UNITVALUE:setDate"), unit_euro_val1.setDate(d), true); SKGTESTERROR(QStringLiteral("UNITVALUE:save"), unit_euro_val1.save(), true); // Creation unit SKGTESTERROR(QStringLiteral("UNIT:setName"), unit_dollar.setName(QStringLiteral("dollar")), true); SKGTESTERROR(QStringLiteral("UNIT:setSymbol"), unit_dollar.setSymbol(QStringLiteral("USD")), true); SKGTESTERROR(QStringLiteral("UNIT:setType"), unit_dollar.setType(SKGUnitObject::CURRENCY), true); SKGTESTERROR(QStringLiteral("UNIT:save"), unit_dollar.save(), true); // Creation unitvalue SKGUnitValueObject unit_dollar_val1; SKGTESTERROR(QStringLiteral("UNIT:addUnitValue"), unit_dollar.addUnitValue(unit_dollar_val1), true); SKGTESTERROR(QStringLiteral("UNITVALUE:setQuantity"), unit_dollar_val1.setQuantity(2), true); SKGTESTERROR(QStringLiteral("UNITVALUE:setDate"), unit_dollar_val1.setDate(d), true); SKGTESTERROR(QStringLiteral("UNITVALUE:save"), unit_dollar_val1.save(), true); // Creation bank SKGTESTERROR(QStringLiteral("BANK:setName"), bank.setName(QStringLiteral("CREDIT COOP")), true); SKGTESTERROR(QStringLiteral("BANK:setNumber"), bank.setNumber(QStringLiteral("0003")), true); SKGTESTERROR(QStringLiteral("BANK:save"), bank.save(), true); // Creation account SKGTESTERROR(QStringLiteral("BANK:addAccount"), bank.addAccount(account), true); SKGTESTERROR(QStringLiteral("ACCOUNT:setName"), account.setName(QStringLiteral("CODEVI")), true); SKGTESTERROR(QStringLiteral("ACCOUNT:save"), account.save(), true); SKGTESTERROR(QStringLiteral("ACCOUNT:setInitialBalance"), account.setInitialBalance(100, unit_dollar), true); SKGTESTERROR(QStringLiteral("ACCOUNT:save"), account.save(), true); } { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/t2.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("CODEVI")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-9335.94")); } } { // 275963 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.load(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/export_qif.skg"), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_BP_QIF"), err); SKGImportExportManager exp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtestimportqif2/export_qif.qif")); SKGTESTERROR(QStringLiteral("QIF.exportFile"), exp1.exportFile(), true); } } { // Support qif file having Type:Class with description SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; SKGAccountObject la; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/MoneydanceExportExample.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); SKGObjectBase::SKGListSKGObjectBase result; SKGTESTERROR(QStringLiteral("DOC.getObjects"), document1.getObjects(QStringLiteral("account"), QStringLiteral("t_name='Wells Fargo:Checking'"), result), true); SKGTEST(QStringLiteral("DOC.getObjects.count"), result.count(), 1); if (result.count() != 0) { la = result.at(0); } } { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("EXPORT_QIF"), err); SKGImportExportManager exp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtestimportqif2/export_all.qif")); SKGTESTERROR(QStringLiteral("QIF.exportFile"), exp1.exportFile(), true); } { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("EXPORT_QIF"), err); SKGImportExportManager exp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtestimportqif2/export_la.qif")); QMap params; params[QStringLiteral("uuid_of_selected_accounts_or_operations")] = la.getUniqueID(); exp1.setExportParameters(params); SKGTESTERROR(QStringLiteral("QIF.exportFile"), exp1.exportFile(), true); } } { // Default account SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/LA-1234567@ing.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } { SKGBEGINTRANSACTION(document1, QStringLiteral("MODIF"), err); SKGObjectBase::SKGListSKGObjectBase result; SKGTESTERROR(QStringLiteral("DOC.getObjects"), document1.getObjects(QStringLiteral("bank"), QStringLiteral("t_name='ing'"), result), true); SKGTEST(QStringLiteral("DOC.getObjects.count"), result.count(), 1); SKGBankObject bank(result.at(0)); SKGTESTERROR(QStringLiteral("BANK.setName"), bank.setName(QStringLiteral("ING Direct")), true); SKGTESTERROR(QStringLiteral("BANK.save"), bank.save(), true); SKGTESTERROR(QStringLiteral("DOC.getObjects"), document1.getObjects(QStringLiteral("account"), QStringLiteral("t_number='1234567'"), result), true); SKGTEST(QStringLiteral("DOC.getObjects.count"), result.count(), 1); SKGTESTERROR(QStringLiteral("DOC.getObjects"), document1.getObjects(QStringLiteral("account"), QStringLiteral("t_name='LA'"), result), true); SKGTEST(QStringLiteral("DOC.getObjects.count"), result.count(), 1); SKGAccountObject acc(result.at(0)); SKGTESTERROR(QStringLiteral("ACC.setName"), acc.setName(QStringLiteral("Livret A")), true); SKGTESTERROR(QStringLiteral("ACC.save"), acc.save(), true); } { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/LA-1234567@ing.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } document1.dump(DUMPACCOUNT); { SKGObjectBase::SKGListSKGObjectBase result; SKGTESTERROR(QStringLiteral("DOC.getObjects"), document1.getObjects(QStringLiteral("account"), QStringLiteral("t_number='1234567'"), result), true); SKGTEST(QStringLiteral("DOC.getObjects.count"), result.count(), 1); } } { // Bug import date SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/date_money.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } } { // Autorepair SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/autorepair.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("autorepair")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-400")); } } { // Error SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/error.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } } { // Split and transfer SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/split_and_transfer.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("Joint Checking")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-1181.25")); // -600 if sum of splits } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("2012 Acadia Loan")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("1162.5")); // 581.25 if sum of splits } } { // Split and transfer 2 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/split_and_transfer_2.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("Joint Checking")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("2714.31")); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("Credit Union")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("400")); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("TSP")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("437.88")); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("FSA")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("88.26")); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("TSP - Roth")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("250")); } } { // 400724 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/400724.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } } { // 402330 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/402330.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } } { // 403725 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/403725.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } SKGObjectBase::SKGListSKGObjectBase result; SKGTESTERROR(QStringLiteral("DOC.getObjects"), document1.getObjects(QStringLiteral("refund"), QLatin1String(""), result), true); SKGTEST(QStringLiteral("DOC.getObjects.count"), result.count(), 2); } { // 406243 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/406243.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } { SKGAccountObject account(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), account.setName(QStringLiteral("406243")), true); SKGTESTERROR(QStringLiteral("QIF.load"), account.load(), true); SKGTEST(QStringLiteral("QIF:getValue"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("794")); } } { // 406243 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/406271.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } { SKGTrackerObject tracker(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), tracker.setName(QStringLiteral("Jane")), true); SKGTESTERROR(QStringLiteral("QIF.load"), tracker.load(), true); SKGTEST(QStringLiteral("QIF:getComment"), tracker.getComment(), QStringLiteral("expenses that Jane incurs")); } } { // 406266 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/406266.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } { SKGUnitObject unit(&document1); SKGTESTERROR(QStringLiteral("QIF.setName"), unit.setName(QStringLiteral("ACME CORP")), true); SKGTESTERROR(QStringLiteral("QIF.load"), unit.load(), true); SKGTEST(QStringLiteral("QIF:getSymbol"), unit.getSymbol(), QStringLiteral("ACMW")); - SKGTEST(QStringLiteral("QIF:getSymbol"), unit.getType(), SKGUnitObject::SHARE); + SKGTEST(QStringLiteral("QIF:getSymbol"), static_cast(unit.getType()), static_cast(SKGUnitObject::SHARE)); } } { // 406270 SKGDocumentBank document1; SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true); SKGError err; { // Scope of the transaction SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT"), err); SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportqif2/406270.qif")); SKGTESTERROR(QStringLiteral("QIF.importFile"), imp1.importFile(), true); } SKGObjectBase::SKGListSKGObjectBase result; SKGTESTERROR(QStringLiteral("DOC.getObjects"), document1.getObjects(QStringLiteral("unit"), QLatin1String(""), result), true); - SKGTEST(QStringLiteral("DOC.getObjects.count"), result.count(), 1); + SKGTEST(QStringLiteral("DOC.getObjects.count"), static_cast(result.count()), static_cast(1)); } // End test SKGENDTEST(); }