1 /*
2     SPDX-FileCopyrightText: 2013-2019 Andreas Cord-Landwehr <cordlandwehr@kde.org>
3 
4     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 */
6 
7 #ifndef TESTSKELETONRESOURCE_H
8 #define TESTSKELETONRESOURCE_H
9 
10 #include <QObject>
11 #include <QVariant>
12 
13 class TestSkeletonResource : public QObject
14 {
15     Q_OBJECT
16 
17 public:
18     TestSkeletonResource();
19 
20 private slots:
21     /**
22      * @brief Called before every test case.
23      */
24     void init();
25 
26     /**
27      * @brief Called after every test case.
28      */
29     void cleanup();
30 
31     /**
32      * @brief Test simple loading of course resource XML file
33      */
34     void loadSkeletonResource();
35 
36     /**
37      * @brief Test handling of unit insertions (specifically, the signals)
38      */
39     void unitAddAndRemoveHandling();
40 
41     /**
42      * @brief Test of all course property changes except unit handling
43      */
44     void coursePropertyChanges();
45 
46     /**
47      * Test if serialization of unserialized file gives original file.
48      * TODO this is a test by only string equality and should improved to test on a data level
49      */
50     void fileLoadSaveCompleteness();
51 
52 private:
53     bool m_systemUseCourseRepositoryValue;
54 };
55 
56 #endif
57