Hi, Since those two members are used to implement the emit of the 'balanceChanged()' and 'valueChanged()' signals after committing changes you could write a test case that asserts that those signals are emitted properly.
For example: After adding a transaction 'balanceChanged()' should be emitted. After adding a price 'valueChanged()' should be emitted. Regards, Cristian 2015-02-17 16:13 GMT+02:00 victor <pedretti...@hotmail.com>: > Hello, > > I am trying to improve some of the test files of KMyMoney for my research > studies. This is a really complex task when you are not involved in > programming this application, so I need your help to achieve it. > > All the same, I'm only focusing on some specific parts. What I'm doing is to > introduce several concrete faults into the code and then observe if the > fault is detected by the test suite (this would be the expected of an > adequate test suite, but we all now that this is quite difficult sometimes). > In this sense, I have been doing this in "mymoneyfile.cpp" and testing it > with its corresponding file test "mymoneyfiletest.cpp". The faults > introduced are faults which are common when programming because we sometimes > mix the name of variables of the same type, or do not call the appropriate > method because of "copy and paste",... > > Here I show two of these faults that the test suite is not able to detect > (the result is the same in the original program and with the inserted > fault): > > 1) The first is in the method "void MyMoneyFile::commitTransaction(void)", > where I change: > > d->m_balanceChangedSet.remove((*it).id()); > > by: > > d->m_valueChangedSet.remove((*it).id()); > > Exactly the same happens in the method "void > MyMoneyFile::rollbackTransaction(void)" if, for instance, I change > "d->m_valueChangedSet.clear();" by "d->m_balanceChangedSet.clear();". These > changes seem to be meaningful changes, but they are not detected by the test > suite at the moment. > > 2) The other situation that I want to report is in method "void > notify(void)" belonging to "MyMoneyFile::Private". If I change, > > m_balanceCache.clear(i.first, i.second); > > by: > > m_balanceCache.clear(i.first); > > or: > > m_balanceCache.clear(); > > How could I detect that I are not calling the method "clear" in a correct > way? > > I am aware that this is quite specific and may be difficult to create test > cases for these situations, but I think that this is a very good chance to > improve the test suite of MyMoneyFile (a very important module in the > application). > > Does somebody know how to reveal the aforementioned faults modifying > existing test cases or designing a new one? > > Thanks in advance. > > _______________________________________________ > KMyMoney-devel mailing list > KMyMoney-devel@kde.org > https://mail.kde.org/mailman/listinfo/kmymoney-devel > _______________________________________________ KMyMoney-devel mailing list KMyMoney-devel@kde.org https://mail.kde.org/mailman/listinfo/kmymoney-devel