Add new testing feature for user
This commit is contained in:
parent
de2f8e01b2
commit
af7d8ab5c8
1 changed files with 30 additions and 2 deletions
|
|
@ -1,5 +1,8 @@
|
|||
#include <QtTest>
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QDataStream>
|
||||
|
||||
#include "../iFacility/objects/profession.h"
|
||||
#include "../iFacility/objects/user.h"
|
||||
|
||||
|
|
@ -15,6 +18,7 @@ private slots:
|
|||
void test_user_add_profession();
|
||||
void test_user_remove_profession();
|
||||
void test_user_current_profession();
|
||||
void test_user_serialization();
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -39,8 +43,8 @@ void iFacilityTest::test_user_add_profession() {
|
|||
u.addProfession(p3);
|
||||
u.addProfession(p4);
|
||||
u.addProfession(p5);
|
||||
QVERIFY(u.getProfessions().front() == p2);
|
||||
QVERIFY(u.getProfessions().back() == p5);
|
||||
QVERIFY(u.getProfessions().front() == p2.pID());
|
||||
QVERIFY(u.getProfessions().back() == p5.pID());
|
||||
}
|
||||
|
||||
void iFacilityTest::test_user_remove_profession() {
|
||||
|
|
@ -68,6 +72,30 @@ void iFacilityTest::test_user_current_profession() {
|
|||
QVERIFY(u.getCurrentProfession() == p1.pID());
|
||||
}
|
||||
|
||||
void iFacilityTest::test_user_serialization() {
|
||||
QByteArray bytes;
|
||||
QDataStream qdsw(&bytes, QIODevice::WriteOnly);
|
||||
QDataStream qdsr(&bytes, QIODevice::ReadOnly);
|
||||
|
||||
auto u1 = User::createUser("test", "test", "f", "s", "t");
|
||||
|
||||
auto p1 = Profession::createProfession("test1");
|
||||
auto p2 = Profession::createProfession("test2");
|
||||
|
||||
u1.addProfession(p1);
|
||||
u1.addProfession(p2);
|
||||
u1.setCurrentProfession(p1);
|
||||
|
||||
qdsw << u1;
|
||||
|
||||
User u2;
|
||||
qdsr >> u2;
|
||||
|
||||
QVERIFY(u1 == u2);
|
||||
QVERIFY(u1.getProfessions() == u2.getProfessions());
|
||||
QVERIFY(u1.getCurrentProfession() == u2.getCurrentProfession());
|
||||
}
|
||||
|
||||
QTEST_APPLESS_MAIN(iFacilityTest)
|
||||
|
||||
#include "tst_ifacilitytest.moc"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue