Add new testing feature for user

This commit is contained in:
E. Kozlovskaya 2021-01-03 23:23:02 +07:00
parent de2f8e01b2
commit af7d8ab5c8

View file

@ -1,5 +1,8 @@
#include <QtTest> #include <QtTest>
#include <QByteArray>
#include <QDataStream>
#include "../iFacility/objects/profession.h" #include "../iFacility/objects/profession.h"
#include "../iFacility/objects/user.h" #include "../iFacility/objects/user.h"
@ -15,6 +18,7 @@ private slots:
void test_user_add_profession(); void test_user_add_profession();
void test_user_remove_profession(); void test_user_remove_profession();
void test_user_current_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(p3);
u.addProfession(p4); u.addProfession(p4);
u.addProfession(p5); u.addProfession(p5);
QVERIFY(u.getProfessions().front() == p2); QVERIFY(u.getProfessions().front() == p2.pID());
QVERIFY(u.getProfessions().back() == p5); QVERIFY(u.getProfessions().back() == p5.pID());
} }
void iFacilityTest::test_user_remove_profession() { void iFacilityTest::test_user_remove_profession() {
@ -68,6 +72,30 @@ void iFacilityTest::test_user_current_profession() {
QVERIFY(u.getCurrentProfession() == p1.pID()); 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) QTEST_APPLESS_MAIN(iFacilityTest)
#include "tst_ifacilitytest.moc" #include "tst_ifacilitytest.moc"