[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [skrooge] /: More test
From:       Stephane Mankowski <stephane () mankowski ! fr>
Date:       2013-05-31 20:31:01
Message-ID: 20130531203101.6D03EA6067 () git ! kde ! org
[Download RAW message or body]

Git commit 884933c0df0b078db9d9dd40b2109cd5a9ad4a14 by Stephane Mankowski.
Committed on 31/05/2013 at 22:30.
Pushed by smankowski into branch 'master'.

More test

M  +314  -309  plugins/import/skrooge_import_skg/skgimportpluginskg.cpp
M  +2    -2    skgbankmodeler/skgunitobject.cpp
M  +2    -1    skgbankmodeler/skgunitobject.h
M  +2    -0    tests/skgbankmodelertest/skgtestbankandaccount.cpp
M  +13   -0    tests/skgbankmodelertest/skgtestbudget.cpp
M  +9    -0    tests/skgbankmodelertest/skgtestimportafb120.cpp
M  +4    -0    tests/skgbankmodelertest/skgtestimportcsv.cpp
M  +2    -0    tests/skgbankmodelertest/skgtestimportgnucash.cpp
M  +2    -0    tests/skgbankmodelertest/skgtestimportgsb.cpp
M  +2    -0    tests/skgbankmodelertest/skgtestimportkmy.cpp
M  +2    -0    tests/skgbankmodelertest/skgtestimportmmb.cpp
M  +2    -0    tests/skgbankmodelertest/skgtestimportmt940.cpp
M  +3    -0    tests/skgbankmodelertest/skgtestimportofx.cpp
M  +2    -0    tests/skgbankmodelertest/skgtestimportqif.cpp
M  +2    -0    tests/skgbankmodelertest/skgtestimportskg.cpp
M  +2    -0    tests/skgbankmodelertest/skgtestimportxhb.cpp
M  +8    -0    tests/skgbankmodelertest/skgtestunit.cpp

http://commits.kde.org/skrooge/884933c0df0b078db9d9dd40b2109cd5a9ad4a14

diff --git a/plugins/import/skrooge_import_skg/skgimportpluginskg.cpp \
b/plugins/import/skrooge_import_skg/skgimportpluginskg.cpp index 7e4a8de..755e877 \
                100644
--- a/plugins/import/skrooge_import_skg/skgimportpluginskg.cpp
+++ b/plugins/import/skrooge_import_skg/skgimportpluginskg.cpp
@@ -67,381 +67,386 @@ SKGError SKGImportPluginSkg::importFile()
     if (!m_importer) return SKGError(ERR_ABORT, i18nc("Error message", "Invalid \
parameters"));  SKGError err;
     SKGTRACEINRC(2, "SKGImportPluginSkg::importFile", err);
-
-    SKGDocumentBank docOrigin;
-    err = docOrigin.load(m_importer->getLocalFileName(), m_parameters["password"]);
-    if (!err) {
-        QMap<QString, SKGObjectBase> mapOriginNew;
-        err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import %1 file", "SKG"), 10);
-
-        //Step 1 - units
+    QString lfile = m_importer->getLocalFileName();
+    if (lfile.isEmpty()) {
+        err.setReturnCode(ERR_INVALIDARG);
+        err.setMessage(i18nc("Error message",  "Open file '%1' failed", \
m_importer->getFileName().prettyUrl())); +    } else {
+        SKGDocumentBank docOrigin;
+        err = docOrigin.load(lfile, m_parameters["password"]);
         if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listUnits;
-            err = docOrigin.getObjects("v_unit", "1=1 order by t_type", listUnits);
+            QMap<QString, SKGObjectBase> mapOriginNew;
+            err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import %1 file", "SKG"), 10); +
+            //Step 1 - units
             if (!err) {
-                int nb = listUnits.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import units"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGUnitObject unitOrigin(listUnits.at(i));
-                    SKGUnitObject \
                unit(unitOrigin.cloneInto(m_importer->getDocument()));
-                    if (unit.load().isFailed()) {
-                        //This unit does not exist yet
-                        if (!err) {
-                            SKGUnitObject::UnitType unitType = unitOrigin.getType();
-                            if (unitType == SKGUnitObject::PRIMARY || unitType == \
                SKGUnitObject::SECONDARY) unitType = SKGUnitObject::CURRENCY;
-                            err = unit.setType(unitType);
+                SKGObjectBase::SKGListSKGObjectBase listUnits;
+                err = docOrigin.getObjects("v_unit", "1=1 order by t_type", \
listUnits); +                if (!err) {
+                    int nb = listUnits.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import units"), nb); +                    for (int i = 0; !err \
&& i < nb; ++i) { +                        SKGUnitObject unitOrigin(listUnits.at(i));
+                        SKGUnitObject \
unit(unitOrigin.cloneInto(m_importer->getDocument())); +                        if \
(unit.load().isFailed()) { +                            //This unit does not exist \
yet +                            if (!err) {
+                                SKGUnitObject::UnitType unitType = \
unitOrigin.getType(); +                                if (unitType == \
SKGUnitObject::PRIMARY || unitType == SKGUnitObject::SECONDARY) unitType = \
SKGUnitObject::CURRENCY; +                                err = \
unit.setType(unitType); +                            }
+                            if (!err) {
+                                SKGUnitObject parentUnitOrigin;
+                                unitOrigin.getUnit(parentUnitOrigin);
+
+                                SKGUnitObject \
parentUnit(mapOriginNew[parentUnitOrigin.getUniqueID()]); +                           \
if (parentUnit != unit) err = unit.setUnit(parentUnit); +                            \
} +                            if (!err) err = unit.save(false);    //Save only
                         }
-                        if (!err) {
-                            SKGUnitObject parentUnitOrigin;
-                            unitOrigin.getUnit(parentUnitOrigin);
+                        mapOriginNew[unitOrigin.getUniqueID()] = unit;
 
-                            SKGUnitObject \
                parentUnit(mapOriginNew[parentUnitOrigin.getUniqueID()]);
-                            if (parentUnit != unit) err = unit.setUnit(parentUnit);
+                        //Duplicate properties
+                        if (!err) err = copyParameters(unitOrigin, unit);
+
+                        //Unit values
+                        SKGObjectBase::SKGListSKGObjectBase listUnitsValues;
+                        if (!err) err = unitOrigin.getUnitValues(listUnitsValues);
+                        int nb2 = listUnitsValues.count();
+                        for (int j = 0; !err && j < nb2; ++j) {
+                            SKGUnitValueObject \
unitValueOrigin(listUnitsValues.at(j)); +
+                            SKGUnitValueObject  unitval;
+                            err = unit.addUnitValue(unitval);
+                            if (!err) err = \
unitval.setDate(unitValueOrigin.getDate()); +                            if (!err) \
err = unitval.setQuantity(unitValueOrigin.getQuantity()); +                           \
if (!err) err = unitval.save(true);    //Save or update +
+                            //Duplicate properties
+                            if (!err) err = copyParameters(unitValueOrigin, \
unitval);  }
-                        if (!err) err = unit.save(false);    //Save only
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1);  }
-                    mapOriginNew[unitOrigin.getUniqueID()] = unit;
-
-                    //Duplicate properties
-                    if (!err) err = copyParameters(unitOrigin, unit);
-
-                    //Unit values
-                    SKGObjectBase::SKGListSKGObjectBase listUnitsValues;
-                    if (!err) err = unitOrigin.getUnitValues(listUnitsValues);
-                    int nb2 = listUnitsValues.count();
-                    for (int j = 0; !err && j < nb2; ++j) {
-                        SKGUnitValueObject unitValueOrigin(listUnitsValues.at(j));
-
-                        SKGUnitValueObject  unitval;
-                        err = unit.addUnitValue(unitval);
-                        if (!err) err = unitval.setDate(unitValueOrigin.getDate());
-                        if (!err) err = \
                unitval.setQuantity(unitValueOrigin.getQuantity());
-                        if (!err) err = unitval.save(true);    //Save or update
 
-                        //Duplicate properties
-                        if (!err) err = copyParameters(unitValueOrigin, unitval);
-                    }
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
                 }
-
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(1);
+            if (!err) err = m_importer->getDocument()->stepForward(1);
 
-        //Step 2 - bank and accounts
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listBanks;
-            err = docOrigin.getObjects("v_bank", "", listBanks);
+            //Step 2 - bank and accounts
             if (!err) {
-                int nb = listBanks.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import banks and accounts"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGBankObject bankOrigin(listBanks.at(i));
-                    SKGBankObject \
                bank(bankOrigin.cloneInto(m_importer->getDocument()));
-                    if (bank.load().isFailed()) {
-                        //This bank does not exist yet
-                        if (!err) err = bank.save(false);    //Save only
-                    }
-
-                    //Duplicate properties
-                    if (!err) err = copyParameters(bankOrigin, bank);
-
-                    //Accounts
-                    SKGObjectBase::SKGListSKGObjectBase listAccounts;
-                    if (!err) err = bankOrigin.getAccounts(listAccounts);
-                    int nb2 = listAccounts.count();
-                    for (int j = 0; !err && j < nb2; ++j) {
-                        SKGAccountObject accountOrigin(listAccounts.at(j));
-                        SKGAccountObject \
                account(accountOrigin.cloneInto(m_importer->getDocument()));
-                        if (account.load().isFailed()) {
-                            //This account does not exist yet
-                            if (!err) err = account.setBank(bank);
-                            //Initial balance will be set on operation creation
-                            if (!err) err = account.save(false);    //Save only
+                SKGObjectBase::SKGListSKGObjectBase listBanks;
+                err = docOrigin.getObjects("v_bank", "", listBanks);
+                if (!err) {
+                    int nb = listBanks.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import banks and accounts"), nb); +                    for (int \
i = 0; !err && i < nb; ++i) { +                        SKGBankObject \
bankOrigin(listBanks.at(i)); +                        SKGBankObject \
bank(bankOrigin.cloneInto(m_importer->getDocument())); +                        if \
(bank.load().isFailed()) { +                            //This bank does not exist \
yet +                            if (!err) err = bank.save(false);    //Save only
                         }
 
                         //Duplicate properties
-                        if (!err) err = copyParameters(accountOrigin, account);
-
-                        mapOriginNew[accountOrigin.getUniqueID()] = account;
+                        if (!err) err = copyParameters(bankOrigin, bank);
+
+                        //Accounts
+                        SKGObjectBase::SKGListSKGObjectBase listAccounts;
+                        if (!err) err = bankOrigin.getAccounts(listAccounts);
+                        int nb2 = listAccounts.count();
+                        for (int j = 0; !err && j < nb2; ++j) {
+                            SKGAccountObject accountOrigin(listAccounts.at(j));
+                            SKGAccountObject \
account(accountOrigin.cloneInto(m_importer->getDocument())); +                        \
if (account.load().isFailed()) { +                                //This account does \
not exist yet +                                if (!err) err = account.setBank(bank);
+                                //Initial balance will be set on operation creation
+                                if (!err) err = account.save(false);    //Save only
+                            }
+
+                            //Duplicate properties
+                            if (!err) err = copyParameters(accountOrigin, account);
+
+                            mapOriginNew[accountOrigin.getUniqueID()] = account;
+                        }
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1);  }
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
-                }
 
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
+                }
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(2);
+            if (!err) err = m_importer->getDocument()->stepForward(2);
 
-        //Step 3 - categories
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listCategories;
-            err = docOrigin.getObjects("v_category", "", listCategories);
+            //Step 3 - categories
             if (!err) {
-                int nb = listCategories.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import categories"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGCategoryObject catOrigin(listCategories.at(i));
-
-                    SKGCategoryObject cat;
-                    err = \
SKGCategoryObject::createPathCategory(m_importer->getDocument(), \
                catOrigin.getFullName(), cat);
-                    //Duplicate properties
-                    if (!err) err = copyParameters(catOrigin, cat);
-                    mapOriginNew[catOrigin.getUniqueID()] = cat;
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
-                }
+                SKGObjectBase::SKGListSKGObjectBase listCategories;
+                err = docOrigin.getObjects("v_category", "", listCategories);
+                if (!err) {
+                    int nb = listCategories.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import categories"), nb); +                    for (int i = 0; \
!err && i < nb; ++i) { +                        SKGCategoryObject \
catOrigin(listCategories.at(i)); +
+                        SKGCategoryObject cat;
+                        err = \
SKGCategoryObject::createPathCategory(m_importer->getDocument(), \
catOrigin.getFullName(), cat); +                        //Duplicate properties
+                        if (!err) err = copyParameters(catOrigin, cat);
+                        mapOriginNew[catOrigin.getUniqueID()] = cat;
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1); +                    }
 
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
+                }
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(3);
+            if (!err) err = m_importer->getDocument()->stepForward(3);
 
-        //Step 4 - trackers
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listRefund;
-            err = docOrigin.getObjects("v_refund", "", listRefund);
+            //Step 4 - trackers
             if (!err) {
-                int nb = listRefund.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import trackers"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGTrackerObject tracOrigin(listRefund.at(i));
-                    SKGTrackerObject \
                trac(tracOrigin.cloneInto(m_importer->getDocument()));
-                    err = trac.save();
-                    //Duplicate properties
-                    if (!err) err = copyParameters(tracOrigin, trac);
-                    mapOriginNew[tracOrigin.getUniqueID()] = trac;
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
-                }
+                SKGObjectBase::SKGListSKGObjectBase listRefund;
+                err = docOrigin.getObjects("v_refund", "", listRefund);
+                if (!err) {
+                    int nb = listRefund.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import trackers"), nb); +                    for (int i = 0; \
!err && i < nb; ++i) { +                        SKGTrackerObject \
tracOrigin(listRefund.at(i)); +                        SKGTrackerObject \
trac(tracOrigin.cloneInto(m_importer->getDocument())); +                        err = \
trac.save(); +                        //Duplicate properties
+                        if (!err) err = copyParameters(tracOrigin, trac);
+                        mapOriginNew[tracOrigin.getUniqueID()] = trac;
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1); +                    }
 
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
+                }
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(4);
+            if (!err) err = m_importer->getDocument()->stepForward(4);
 
-        //Step 5 - rules
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listRules;
-            err = docOrigin.getObjects("v_rule", "", listRules);
+            //Step 5 - rules
             if (!err) {
-                int nb = listRules.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import rules"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGRuleObject rulOrigin(listRules.at(i));
-                    SKGRuleObject \
                rul(rulOrigin.cloneInto(m_importer->getDocument()));
-                    err = rul.save(false);  //Save only
-                    //Duplicate properties
-                    if (!err) err = copyParameters(rulOrigin, rul);
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
-                }
+                SKGObjectBase::SKGListSKGObjectBase listRules;
+                err = docOrigin.getObjects("v_rule", "", listRules);
+                if (!err) {
+                    int nb = listRules.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import rules"), nb); +                    for (int i = 0; !err \
&& i < nb; ++i) { +                        SKGRuleObject rulOrigin(listRules.at(i));
+                        SKGRuleObject \
rul(rulOrigin.cloneInto(m_importer->getDocument())); +                        err = \
rul.save(false);  //Save only +                        //Duplicate properties
+                        if (!err) err = copyParameters(rulOrigin, rul);
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1); +                    }
 
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
+                }
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(5);
+            if (!err) err = m_importer->getDocument()->stepForward(5);
 
-        //Step 6 - payee
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listPayee;
-            err = docOrigin.getObjects("v_payee", "", listPayee);
+            //Step 6 - payee
             if (!err) {
-                int nb = listPayee.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import payees"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGPayeeObject paylOrigin(listPayee.at(i));
-
-                    SKGPayeeObject pay;
-                    err = SKGPayeeObject::createPayee(m_importer->getDocument(), \
                paylOrigin.getName(), pay);
-                    if (!err) err = pay.setAddress(paylOrigin.getAddress());
-                    if (!err) err = pay.save();
-                    //Duplicate properties
-                    if (!err) err = copyParameters(paylOrigin, pay);
-                    mapOriginNew[paylOrigin.getUniqueID()] = pay;
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
-                }
+                SKGObjectBase::SKGListSKGObjectBase listPayee;
+                err = docOrigin.getObjects("v_payee", "", listPayee);
+                if (!err) {
+                    int nb = listPayee.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import payees"), nb); +                    for (int i = 0; !err \
&& i < nb; ++i) { +                        SKGPayeeObject \
paylOrigin(listPayee.at(i)); +
+                        SKGPayeeObject pay;
+                        err = SKGPayeeObject::createPayee(m_importer->getDocument(), \
paylOrigin.getName(), pay); +                        if (!err) err = \
pay.setAddress(paylOrigin.getAddress()); +                        if (!err) err = \
pay.save(); +                        //Duplicate properties
+                        if (!err) err = copyParameters(paylOrigin, pay);
+                        mapOriginNew[paylOrigin.getUniqueID()] = pay;
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1); +                    }
 
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
+                }
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(6);
+            if (!err) err = m_importer->getDocument()->stepForward(6);
 
-        //Step 7 - operations and suboperation
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listOperations;
-            err = docOrigin.getObjects("v_operation", "", listOperations);
+            //Step 7 - operations and suboperation
             if (!err) {
-                int nb = listOperations.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import operations"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGOperationObject operationOrigin(listOperations.at(i));
-                    SKGOperationObject \
                operation(operationOrigin.cloneInto(m_importer->getDocument()));
-                    if (!err) err = \
                operation.setAttribute("r_recurrentoperation_id", "");
-                    if (!err) err = operation.setImported(true);
-                    if (!err) {
-                        QString importID = operationOrigin.getImportID();
-                        if (importID.isEmpty()) importID = "SKG-" % \
                SKGServices::intToString(operationOrigin.getID());
-                        err = operation.setImportID(importID);
-                    }
-                    if (!err) {
-                        SKGAccountObject actOrig;
-                        err = operationOrigin.getParentAccount(actOrig);
+                SKGObjectBase::SKGListSKGObjectBase listOperations;
+                err = docOrigin.getObjects("v_operation", "", listOperations);
+                if (!err) {
+                    int nb = listOperations.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import operations"), nb); +                    for (int i = 0; \
!err && i < nb; ++i) { +                        SKGOperationObject \
operationOrigin(listOperations.at(i)); +                        SKGOperationObject \
operation(operationOrigin.cloneInto(m_importer->getDocument())); +                    \
if (!err) err = operation.setAttribute("r_recurrentoperation_id", ""); +              \
if (!err) err = operation.setImported(true);  if (!err) {
-                            SKGAccountObject \
                act(mapOriginNew[actOrig.getUniqueID()]);
-                            act.setClosed(false); //To be sure that the modification \
                is possible. NOT SAVED
-                            if (!err) err = operation.setParentAccount(act);
+                            QString importID = operationOrigin.getImportID();
+                            if (importID.isEmpty()) importID = "SKG-" % \
SKGServices::intToString(operationOrigin.getID()); +                            err = \
operation.setImportID(importID);  }
-                    }
-                    if (!err) {
-                        SKGPayeeObject payeeOrig;
-                        operationOrigin.getPayee(payeeOrig);     //Error not managed
-                        if (!err) err = \
                operation.setPayee(SKGPayeeObject(mapOriginNew[payeeOrig.getUniqueID()]));
                
-                    }
-                    if (!err) {
-                        SKGUnitObject unitOrig;
-                        err = operationOrigin.getUnit(unitOrig);
-                        if (!err) err = \
                operation.setUnit(SKGUnitObject(mapOriginNew[unitOrig.getUniqueID()]));
                
-                    }
-                    if (!err) {
-                        SKGOperationObject groupOrig;
-                        operationOrigin.getGroupOperation(groupOrig);
-                        err = \
operation.setGroupOperation(SKGOperationObject(mapOriginNew[groupOrig.getUniqueID()]));
                
-                    }
-                    if (!err) err = operation.save(false);    //Save only
-
-                    mapOriginNew[operationOrigin.getUniqueID()] = operation;
-
-                    //Duplicate properties
-                    if (!err) err = copyParameters(operationOrigin, operation);
-
-                    //Sub operation
-                    SKGObjectBase::SKGListSKGObjectBase listSuboperations;
-                    if (!err) err = \
                operationOrigin.getSubOperations(listSuboperations);
-                    int nb2 = listSuboperations.count();
-                    for (int j = 0; !err && j < nb2; ++j) {
-                        SKGSubOperationObject subopOrigin(listSuboperations.at(j));
-
-                        SKGSubOperationObject \
                subop(subopOrigin.cloneInto(m_importer->getDocument()));
-                        err = subop.setParentOperation(operation);
                         if (!err) {
-                            SKGCategoryObject catOrig;
-                            subopOrigin.getCategory(catOrig);    //Error not managed
-                            err = \
subop.setCategory(SKGCategoryObject(mapOriginNew[catOrig.getUniqueID()])); +          \
SKGAccountObject actOrig; +                            err = \
operationOrigin.getParentAccount(actOrig); +                            if (!err) {
+                                SKGAccountObject \
act(mapOriginNew[actOrig.getUniqueID()]); +                                \
act.setClosed(false); //To be sure that the modification is possible. NOT SAVED +     \
if (!err) err = operation.setParentAccount(act); +                            }
                         }
                         if (!err) {
-                            SKGTrackerObject tracOrig;
-                            subopOrigin.getTracker(tracOrig);    //Error not managed
-                            if (!err) err = \
subop.setTracker(SKGTrackerObject(mapOriginNew[tracOrig.getUniqueID()]), true); +     \
SKGPayeeObject payeeOrig; +                            \
operationOrigin.getPayee(payeeOrig);     //Error not managed +                        \
if (!err) err = operation.setPayee(SKGPayeeObject(mapOriginNew[payeeOrig.getUniqueID()]));
  }
-                        if (!err) err = subop.save(false);    //Save only
+                        if (!err) {
+                            SKGUnitObject unitOrig;
+                            err = operationOrigin.getUnit(unitOrig);
+                            if (!err) err = \
operation.setUnit(SKGUnitObject(mapOriginNew[unitOrig.getUniqueID()])); +             \
} +                        if (!err) {
+                            SKGOperationObject groupOrig;
+                            operationOrigin.getGroupOperation(groupOrig);
+                            err = \
operation.setGroupOperation(SKGOperationObject(mapOriginNew[groupOrig.getUniqueID()]));
 +                        }
+                        if (!err) err = operation.save(false);    //Save only
+
+                        mapOriginNew[operationOrigin.getUniqueID()] = operation;
 
                         //Duplicate properties
-                        if (!err) err = copyParameters(subopOrigin, subop);
+                        if (!err) err = copyParameters(operationOrigin, operation);
+
+                        //Sub operation
+                        SKGObjectBase::SKGListSKGObjectBase listSuboperations;
+                        if (!err) err = \
operationOrigin.getSubOperations(listSuboperations); +                        int nb2 \
= listSuboperations.count(); +                        for (int j = 0; !err && j < \
nb2; ++j) { +                            SKGSubOperationObject \
subopOrigin(listSuboperations.at(j)); +
+                            SKGSubOperationObject \
subop(subopOrigin.cloneInto(m_importer->getDocument())); +                            \
err = subop.setParentOperation(operation); +                            if (!err) {
+                                SKGCategoryObject catOrig;
+                                subopOrigin.getCategory(catOrig);    //Error not \
managed +                                err = \
subop.setCategory(SKGCategoryObject(mapOriginNew[catOrig.getUniqueID()])); +          \
} +                            if (!err) {
+                                SKGTrackerObject tracOrig;
+                                subopOrigin.getTracker(tracOrig);    //Error not \
managed +                                if (!err) err = \
subop.setTracker(SKGTrackerObject(mapOriginNew[tracOrig.getUniqueID()]), true); +     \
} +                            if (!err) err = subop.save(false);    //Save only
+
+                            //Duplicate properties
+                            if (!err) err = copyParameters(subopOrigin, subop);
+                        }
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1); +
+                        if (!err && i % 500 == 0) err = \
m_importer->getDocument()->executeSqliteOrder("ANALYZE");  }
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
 
-                    if (!err && i % 500 == 0) err = \
m_importer->getDocument()->executeSqliteOrder("ANALYZE"); +                    if \
(!err) err = m_importer->getDocument()->endTransaction(true); +                    \
else  m_importer->getDocument()->endTransaction(false);  }
-
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(7);
-        /*                                      SKGObjectBase opWithThisHash;
-                                            if ( SKGObjectBase::getObject ( \
m_importer->getDocument(), "operation", "t_imported IN ('Y','P') AND \
t_import_id='"+QString ( hash.toHex() ) +'\'', opWithThisHash ).isSucceeded() )*/ +   \
if (!err) err = m_importer->getDocument()->stepForward(7); +            /*            \
SKGObjectBase opWithThisHash; +                                                if ( \
SKGObjectBase::getObject ( m_importer->getDocument(), "operation", "t_imported IN \
('Y','P') AND t_import_id='"+QString ( hash.toHex() ) +'\'', opWithThisHash \
).isSucceeded() )*/  
-        //Step 8 - recurrent
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase ListRecurrentOperations;
-            err = docOrigin.getObjects("v_recurrentoperation", "", \
ListRecurrentOperations); +            //Step 8 - recurrent
             if (!err) {
-                int nb = ListRecurrentOperations.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import scheduled operations"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGRecurrentOperationObject \
                recuOrigin(ListRecurrentOperations.at(i));
-                    SKGRecurrentOperationObject \
recu(recuOrigin.cloneInto(m_importer->getDocument())); +                \
SKGObjectBase::SKGListSKGObjectBase ListRecurrentOperations; +                err = \
docOrigin.getObjects("v_recurrentoperation", "", ListRecurrentOperations); +          \
if (!err) { +                    int nb = ListRecurrentOperations.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import scheduled operations"), nb); +                    for \
(int i = 0; !err && i < nb; ++i) { +                        \
SKGRecurrentOperationObject recuOrigin(ListRecurrentOperations.at(i)); +              \
SKGRecurrentOperationObject recu(recuOrigin.cloneInto(m_importer->getDocument())); +
+                        SKGOperationObject opOrig;
+                        err = recuOrigin.getParentOperation(opOrig);
+                        if (!err) err = \
recu.setParentOperation(SKGOperationObject(mapOriginNew[opOrig.getUniqueID()])); +    \
if (!err) err = recu.save(false);    //Save only  
-                    SKGOperationObject opOrig;
-                    err = recuOrigin.getParentOperation(opOrig);
-                    if (!err) err = \
                recu.setParentOperation(SKGOperationObject(mapOriginNew[opOrig.getUniqueID()]));
                
-                    if (!err) err = recu.save(false);    //Save only
+                        //Duplicate properties
+                        if (!err) err = copyParameters(recuOrigin, recu);
 
-                    //Duplicate properties
-                    if (!err) err = copyParameters(recuOrigin, recu);
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1); +                    }
 
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
                 }
-
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(8);
+            if (!err) err = m_importer->getDocument()->stepForward(8);
 
-        //Step 9 - nodes
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listNodes;
-            err = docOrigin.getObjects("v_node", "", listNodes);
+            //Step 9 - nodes
             if (!err) {
-                int nb = listNodes.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import bookmarks"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGNodeObject nodeOrigin(listNodes.at(i));
-
-                    SKGNodeObject node;
-                    err = SKGNodeObject::createPathNode(m_importer->getDocument(), \
                i18n("Imported bookmarks") % OBJECTSEPARATOR % \
                nodeOrigin.getFullName(), node);
-                    if (!err) err = node.setData(nodeOrigin.getData());
-                    if (!err) err = node.setOrder(nodeOrigin.getOrder());
-                    if (!err) err = node.setAutoStart(nodeOrigin.isAutoStart());
-                    if (!err) err = node.save(true, false);
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
-                }
+                SKGObjectBase::SKGListSKGObjectBase listNodes;
+                err = docOrigin.getObjects("v_node", "", listNodes);
+                if (!err) {
+                    int nb = listNodes.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import bookmarks"), nb); +                    for (int i = 0; \
!err && i < nb; ++i) { +                        SKGNodeObject \
nodeOrigin(listNodes.at(i)); +
+                        SKGNodeObject node;
+                        err = \
SKGNodeObject::createPathNode(m_importer->getDocument(), i18n("Imported bookmarks") % \
OBJECTSEPARATOR % nodeOrigin.getFullName(), node); +                        if (!err) \
err = node.setData(nodeOrigin.getData()); +                        if (!err) err = \
node.setOrder(nodeOrigin.getOrder()); +                        if (!err) err = \
node.setAutoStart(nodeOrigin.isAutoStart()); +                        if (!err) err = \
node.save(true, false); +                        if (!err) err = \
m_importer->getDocument()->stepForward(i + 1); +                    }
 
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
+                }
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(9);
+            if (!err) err = m_importer->getDocument()->stepForward(9);
 
-        //Step 10 - interest
-        if (!err) {
-            SKGObjectBase::SKGListSKGObjectBase listInterests;
-            err = docOrigin.getObjects("v_interest", "", listInterests);
+            //Step 10 - interest
             if (!err) {
-                int nb = listInterests.count();
-                err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
                i18nc("Import step", "Import interests"), nb);
-                for (int i = 0; !err && i < nb; ++i) {
-                    SKGInterestObject interestOrigin(listInterests.at(i));
-                    SKGInterestObject \
                interest(interestOrigin.cloneInto(m_importer->getDocument()));
-                    if (!err) {
-                        SKGAccountObject actOrig;
-                        err = interestOrigin.getAccount(actOrig);
-                        if (!err) err = \
                interest.setAccount(SKGAccountObject(mapOriginNew[actOrig.getUniqueID()]));
                
-                    }
-                    if (!err) err = interest.save();
+                SKGObjectBase::SKGListSKGObjectBase listInterests;
+                err = docOrigin.getObjects("v_interest", "", listInterests);
+                if (!err) {
+                    int nb = listInterests.count();
+                    err = m_importer->getDocument()->beginTransaction("#INTERNAL#" % \
i18nc("Import step", "Import interests"), nb); +                    for (int i = 0; \
!err && i < nb; ++i) { +                        SKGInterestObject \
interestOrigin(listInterests.at(i)); +                        SKGInterestObject \
interest(interestOrigin.cloneInto(m_importer->getDocument())); +                      \
if (!err) { +                            SKGAccountObject actOrig;
+                            err = interestOrigin.getAccount(actOrig);
+                            if (!err) err = \
interest.setAccount(SKGAccountObject(mapOriginNew[actOrig.getUniqueID()])); +         \
} +                        if (!err) err = interest.save();
+
+                        //Duplicate properties
+                        if (!err) err = copyParameters(interestOrigin, interest);
 
-                    //Duplicate properties
-                    if (!err) err = copyParameters(interestOrigin, interest);
+                        if (!err) err = m_importer->getDocument()->stepForward(i + \
1); +                    }
 
-                    if (!err) err = m_importer->getDocument()->stepForward(i + 1);
+                    if (!err) err = m_importer->getDocument()->endTransaction(true);
+                    else  m_importer->getDocument()->endTransaction(false);
                 }
-
-                if (!err) err = m_importer->getDocument()->endTransaction(true);
-                else  m_importer->getDocument()->endTransaction(false);
             }
-        }
-        if (!err) err = m_importer->getDocument()->stepForward(10);
+            if (!err) err = m_importer->getDocument()->stepForward(10);
 
-        if (!err) err = m_importer->getDocument()->endTransaction(true);
-        else  m_importer->getDocument()->endTransaction(false);
+            if (!err) err = m_importer->getDocument()->endTransaction(true);
+            else  m_importer->getDocument()->endTransaction(false);
 
-        if (!err) err = m_importer->getDocument()->executeSqliteOrder("ANALYZE");
+            if (!err) err = \
m_importer->getDocument()->executeSqliteOrder("ANALYZE"); +        }
     }
     return err;
 }
diff --git a/skgbankmodeler/skgunitobject.cpp b/skgbankmodeler/skgunitobject.cpp
index 2b14d3b..1a732dd 100644
--- a/skgbankmodeler/skgunitobject.cpp
+++ b/skgbankmodeler/skgunitobject.cpp
@@ -650,7 +650,7 @@ QStringList SKGUnitObject::downloadSources()
     return sources;
 }
 
-SKGError SKGUnitObject::addSource(const QString& iNewSource)
+SKGError SKGUnitObject::addSource(const QString& iNewSource, bool iOpenSource)
 {
     SKGError err;
 
@@ -694,7 +694,7 @@ SKGError SKGUnitObject::addSource(const QString& iNewSource)
     }
 
     //Open the created or already existing file
-    QDesktopServices::openUrl(KUrl(newfile));
+    if (iOpenSource) QDesktopServices::openUrl(KUrl(newfile));
     return err;
 }
 
diff --git a/skgbankmodeler/skgunitobject.h b/skgbankmodeler/skgunitobject.h
index 277051f..50a7233 100644
--- a/skgbankmodeler/skgunitobject.h
+++ b/skgbankmodeler/skgunitobject.h
@@ -294,10 +294,11 @@ public:
     /**
      * Create a new source
      * @param iNewSource the name of the new source
+     * @param iOpenSource to open the created source with the appropriate editor
      * @return an object managing the error
      *   @see SKGError
      */
-    static SKGError addSource(const QString& iNewSource);
+    static SKGError addSource(const QString& iNewSource, bool iOpenSource = true);
 
     /**
      * To know if a source can be modified or deleted
diff --git a/tests/skgbankmodelertest/skgtestbankandaccount.cpp \
b/tests/skgbankmodelertest/skgtestbankandaccount.cpp index 56be3bb..6308ef4 100644
--- a/tests/skgbankmodelertest/skgtestbankandaccount.cpp
+++ b/tests/skgbankmodelertest/skgtestbankandaccount.cpp
@@ -73,6 +73,8 @@ int main(int argc, char** argv)
             SKGTEST("BANK:comparison", (bank12 == bank1), true);
             SKGBankObject bank13(SKGNamedObject(bank1));  //For coverage
             SKGTEST("BANK:comparison", (bank12 == SKGNamedObject(bank1)), true);
+            SKGNamedObject bank1n(bank1);
+            SKGBankObject bank14(bank1n);  //For coverage
 
             //Creation account1
             SKGAccountObject account1;
diff --git a/tests/skgbankmodelertest/skgtestbudget.cpp \
b/tests/skgbankmodelertest/skgtestbudget.cpp index 82d3797..fc3ad7b 100644
--- a/tests/skgbankmodelertest/skgtestbudget.cpp
+++ b/tests/skgbankmodelertest/skgtestbudget.cpp
@@ -76,6 +76,7 @@ int main(int argc, char** argv)
             SKGTESTERROR("BUDGETRULE.createPathCategory", \
SKGCategoryObject::createPathCategory(&document1, "category_55 > category_57", cat), \
                true);
             SKGTESTERROR("BUDGETRULE.setBudgetCategory", br.setBudgetCategory(cat), \
true);  
+
             SKGTESTERROR("BUDGETRULE.setCondition", \
                br.setCondition(SKGBudgetRuleObject::NEGATIVE), true);
             SKGTEST("BUDGETRULE.getCondition", br.getCondition(), \
                SKGBudgetRuleObject::NEGATIVE);
             SKGTESTERROR("BUDGETRULE.setCondition", \
br.setCondition(SKGBudgetRuleObject::POSITIVE), true); @@ -125,6 +126,18 @@ int \
main(int argc, char** argv)  
         document1.existObjects("v_budget_display", "t_PERIOD='2013-02' AND \
t_CATEGORY='Loisirs' AND f_budgeted_modified=2100", check);  \
SKGTEST("BUDGETRULE.Loisirs 2013-02 2100", check, true); +
+        SKGObjectBase bo;
+        SKGTESTERROR("document1.getObject()", \
document1.getObject("v_budget_display", "t_PERIOD='2013-02' AND t_CATEGORY='Loisirs' \
AND f_budgeted_modified=2100", bo), true); +        SKGBudgetObject b(bo);
+        SKGTEST("BUDGET.getBudgetedAmount", b.getBudgetedAmount(), 300);
+        SKGCategoryObject cat;
+        SKGTESTERROR("BUDGET.getCategory", b.getCategory(cat), true);
+        SKGTESTERROR("BUDGET.removeCategory", b.removeCategory(), true);
+        SKGTESTERROR("BUDGET.enableSubCategoriesInclusion", \
b.enableSubCategoriesInclusion(true), true); +        \
SKGTEST("BUDGET.isSubCategoriesInclusionEnabled", \
b.isSubCategoriesInclusionEnabled(), true); +        \
SKGTESTERROR("BUDGET.enableSubCategoriesInclusion", \
b.enableSubCategoriesInclusion(false), true); +        \
SKGTEST("BUDGET.isSubCategoriesInclusionEnabled", \
b.isSubCategoriesInclusionEnabled(), false);  }
 
     //End test
diff --git a/tests/skgbankmodelertest/skgtestimportafb120.cpp \
b/tests/skgbankmodelertest/skgtestimportafb120.cpp index c251dad..7b7cdb6 100644
--- a/tests/skgbankmodelertest/skgtestimportafb120.cpp
+++ b/tests/skgbankmodelertest/skgtestimportafb120.cpp
@@ -45,6 +45,9 @@ int main(int argc, char** argv)
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_AFB120", err);
 
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.cfo"));
+            SKGTESTERROR("AFB120.importFile", impmissing.importFile(), false);
+
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % \
"/skgtestimportafb120/gs_01139_021239S.cfo"));  SKGTESTERROR("AFB120.importFile", \
imp1.importFile(), true);  
@@ -72,6 +75,12 @@ int main(int argc, char** argv)
             SKGTESTERROR("AFB120.load", account.load(), true);
             SKGTEST("AFB120:getCurrentAmount", \
SKGServices::doubleToString(account.getCurrentAmount()), "2555.48");  }
+
+        {
+            SKGTESTERROR("AFB120.saveAs", document1.saveAs(getTestPath("OUT") % \
QString::fromUtf8("/anonymize.skg")), true); +            SKGImportExportManager \
imp1(&document1); +            SKGTESTERROR("AFB120:anonymize", imp1.anonymize(), \
true); +        }
     }
     //End test
     SKGENDTEST();
diff --git a/tests/skgbankmodelertest/skgtestimportcsv.cpp \
b/tests/skgbankmodelertest/skgtestimportcsv.cpp index 896e26e..98f1136 100644
--- a/tests/skgbankmodelertest/skgtestimportcsv.cpp
+++ b/tests/skgbankmodelertest/skgtestimportcsv.cpp
@@ -47,6 +47,10 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_CSV", err);
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.csv"));
+            impmissing.setAutomaticApplyRules(true);
+            SKGTESTERROR("imp1.importFile", impmissing.importFile(), false);
+
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % "/skgtestimportcsv/skrooge_partial.csv"));  \
imp1.getImportMimeTypeFilter();  imp1.getExportMimeTypeFilter();
diff --git a/tests/skgbankmodelertest/skgtestimportgnucash.cpp \
b/tests/skgbankmodelertest/skgtestimportgnucash.cpp index 43e7c6d..431f006 100644
--- a/tests/skgbankmodelertest/skgtestimportgnucash.cpp
+++ b/tests/skgbankmodelertest/skgtestimportgnucash.cpp
@@ -44,6 +44,8 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_GNUCASH", err);
+            SKGImportExportManager impmissing(&document1, \
KUrl("missingfile.uncompressed")); +            SKGTESTERROR("imp1.importFile", \
impmissing.importFile(), false);  
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % \
"/skgtestimportgnucash/test_data.uncompressed"));  SKGTESTERROR("GNUCASH.importFile", \
                imp1.importFile(), true);
diff --git a/tests/skgbankmodelertest/skgtestimportgsb.cpp \
b/tests/skgbankmodelertest/skgtestimportgsb.cpp index 243fe4b..56f7d9c 100644
--- a/tests/skgbankmodelertest/skgtestimportgsb.cpp
+++ b/tests/skgbankmodelertest/skgtestimportgsb.cpp
@@ -44,6 +44,8 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_GSB", err);
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.gsb"));
+            SKGTESTERROR("imp1.importFile", impmissing.importFile(), false);
 
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % "/skgtestimportgsb/test-obfuscated.gsb"));  \
                SKGTESTERROR("GSB.importFile", imp1.importFile(), true);
diff --git a/tests/skgbankmodelertest/skgtestimportkmy.cpp \
b/tests/skgbankmodelertest/skgtestimportkmy.cpp index 043c780..d188738 100644
--- a/tests/skgbankmodelertest/skgtestimportkmy.cpp
+++ b/tests/skgbankmodelertest/skgtestimportkmy.cpp
@@ -44,6 +44,8 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_KMY", err);
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.kmy"));
+            SKGTESTERROR("imp1.importFile", impmissing.importFile(), false);
 
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % \
"/skgtestimportkmy/rapprochement-incorrect.kmy"));  SKGTESTERROR("KMY.importFile", \
                imp1.importFile(), true);
diff --git a/tests/skgbankmodelertest/skgtestimportmmb.cpp \
b/tests/skgbankmodelertest/skgtestimportmmb.cpp index 6fe0301..c864832 100644
--- a/tests/skgbankmodelertest/skgtestimportmmb.cpp
+++ b/tests/skgbankmodelertest/skgtestimportmmb.cpp
@@ -44,6 +44,8 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_MMB", err);
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.mmb"));
+            SKGTESTERROR("imp1.importFile", impmissing.importFile(), false);
 
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % "/skgtestimportmmb/test.mmb"));  \
                SKGTESTERROR("MMB.importFile", imp1.importFile(), true);
diff --git a/tests/skgbankmodelertest/skgtestimportmt940.cpp \
b/tests/skgbankmodelertest/skgtestimportmt940.cpp index 96bbe2d..9c528e9 100644
--- a/tests/skgbankmodelertest/skgtestimportmt940.cpp
+++ b/tests/skgbankmodelertest/skgtestimportmt940.cpp
@@ -44,6 +44,8 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_MT940", err);
+            SKGImportExportManager impmissing(&document1, \
KUrl("missingfile.mt940")); +            SKGTESTERROR("imp1.importFile", \
impmissing.importFile(), false);  
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % "/skgtestimportmt940/test1.mt940"));  \
                SKGTESTERROR("MT940.importFile", imp1.importFile(), true);
diff --git a/tests/skgbankmodelertest/skgtestimportofx.cpp \
b/tests/skgbankmodelertest/skgtestimportofx.cpp index 1e81434..c07c8ad 100644
--- a/tests/skgbankmodelertest/skgtestimportofx.cpp
+++ b/tests/skgbankmodelertest/skgtestimportofx.cpp
@@ -44,6 +44,9 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_OFX", err);
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.ofx"));
+            SKGTESTERROR("imp1.importFile", impmissing.importFile(), false);
+
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % \
"/skgtestimportofx/ofx_spec160_stmtrs_example.ofx"));  \
SKGTESTERROR("imp1.importFile", imp1.importFile(), true);  //document1.dump ( \
                DUMPOPERATION|DUMPACCOUNT );
diff --git a/tests/skgbankmodelertest/skgtestimportqif.cpp \
b/tests/skgbankmodelertest/skgtestimportqif.cpp index 7c2f7f0..adee7c3 100644
--- a/tests/skgbankmodelertest/skgtestimportqif.cpp
+++ b/tests/skgbankmodelertest/skgtestimportqif.cpp
@@ -49,6 +49,8 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_INIT", err);
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.qif"));
+            SKGTESTERROR("imp1.importFile", impmissing.importFile(), false);
 
             //Creation bank
             SKGTESTERROR("BANK:setName", bank.setName("CREDIT COOP"), true);
diff --git a/tests/skgbankmodelertest/skgtestimportskg.cpp \
b/tests/skgbankmodelertest/skgtestimportskg.cpp index 73def6e..d47e91a 100644
--- a/tests/skgbankmodelertest/skgtestimportskg.cpp
+++ b/tests/skgbankmodelertest/skgtestimportskg.cpp
@@ -44,6 +44,8 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_SKG", err);
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.skg"));
+            SKGTESTERROR("imp1.importFile", impmissing.importFile(), false);
 
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % "/skgtestimportskg/all_types.skg"));  \
                SKGTESTERROR("SKG.importFile", imp1.importFile(), true);
diff --git a/tests/skgbankmodelertest/skgtestimportxhb.cpp \
b/tests/skgbankmodelertest/skgtestimportxhb.cpp index 5cc929f..7c47a11 100644
--- a/tests/skgbankmodelertest/skgtestimportxhb.cpp
+++ b/tests/skgbankmodelertest/skgtestimportxhb.cpp
@@ -44,6 +44,8 @@ int main(int argc, char** argv)
         {
             //Scope of the transaction
             SKGBEGINTRANSACTION(document1, "IMPORT_XHB", err);
+            SKGImportExportManager impmissing(&document1, KUrl("missingfile.xhb"));
+            SKGTESTERROR("imp1.importFile", impmissing.importFile(), false);
 
             SKGImportExportManager imp1(&document1, \
KUrl::fromLocalFile(getTestPath("IN") % "/skgtestimportxhb/test.xhb"));  \
                SKGTESTERROR("XHB.importFile", imp1.importFile(), true);
diff --git a/tests/skgbankmodelertest/skgtestunit.cpp \
b/tests/skgbankmodelertest/skgtestunit.cpp index 49b6ecf..a9c716c 100644
--- a/tests/skgbankmodelertest/skgtestunit.cpp
+++ b/tests/skgbankmodelertest/skgtestunit.cpp
@@ -24,6 +24,7 @@
 
 #include <kglobal.h>
 #include <KStandardDirs>
+#include <QDesktopServices>
 
 /**
  * The main function of the unit test
@@ -191,6 +192,7 @@ int main(int argc, char** argv)
                 SKGBEGINTRANSACTION(document1, "UNIT_1", err);
                 SKGUnitObject unitObj;
                 SKGTESTERROR("UNIT:createCurrencyUnit", \
SKGUnitObject::createCurrencyUnit(&document1, unit, unitObj), true); +                \
unitObj.getUnitInfo();  }
             SKGBEGINTRANSACTION(document1, "UNIT_1", err);
             SKGUnitObject unitObj;
@@ -357,6 +359,12 @@ int main(int argc, char** argv)
         SKGTESTERROR("UNIT:getUnitValues", unit1.getUnitValues(oUnitValueList), \
true);  SKGTEST("UNIT:oUnitValueList", oUnitValueList.count(), 2);
     }
+
+    {
+        SKGTESTERROR("UNIT:addSource", SKGUnitObject::addSource("test", false), \
true); +        SKGTEST("UNIT:isWritable", SKGUnitObject::isWritable("test"), true);
+        SKGTESTERROR("UNIT:deleteSource", SKGUnitObject::deleteSource("test"), \
true); +    }
     //End test
     SKGENDTEST();
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic