File indexing completed on 2023-09-24 04:02:43
0001 /* 0002 SPDX-FileCopyrightText: 2013 Ivan Cukic <ivan.cukic(at)kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef RESULTSET_QUICKCHECK_TEST_H 0008 #define RESULTSET_QUICKCHECK_TEST_H 0009 0010 #include <common/test.h> 0011 0012 #include <KActivities/Controller> 0013 #include <memory> 0014 0015 #include <set> 0016 0017 #include "quickcheck/tables/ResourceInfo.h" 0018 #include "quickcheck/tables/ResourceLink.h" 0019 #include "quickcheck/tables/ResourceScoreCache.h" 0020 0021 class ResultSetQuickCheckTest : public Test 0022 { 0023 Q_OBJECT 0024 public: 0025 ResultSetQuickCheckTest(QObject *parent = nullptr); 0026 0027 private Q_SLOTS: 0028 void initTestCase(); 0029 0030 void testUsedResourcesForAgents(); 0031 void testUsedResourcesForActivities(); 0032 0033 void testLinkedResourcesForAgents(); 0034 0035 void cleanupTestCase(); 0036 0037 public: 0038 std::unique_ptr<KActivities::Consumer> activities; 0039 0040 struct PrimaryKeyOrder { 0041 template<typename T> 0042 bool operator()(const T &left, const T &right) const 0043 { 0044 return left.primaryKey() < right.primaryKey(); 0045 } 0046 }; 0047 0048 TABLE(ResourceScoreCache) resourceScoreCaches; 0049 TABLE(ResourceInfo) resourceInfos; 0050 TABLE(ResourceLink) resourceLinks; 0051 0052 QString randItem(const QStringList &choices) const; 0053 0054 QStringList activitiesList; 0055 QStringList agentsList; 0056 QStringList typesList; 0057 QStringList resourcesList; 0058 0059 void generateActivitiesList(); 0060 void generateAgentsList(); 0061 void generateTypesList(); 0062 void generateResourcesList(); 0063 0064 void generateResourceInfos(); 0065 void generateResourceScoreCaches(); 0066 void generateResourceLinks(); 0067 0068 void pushToDatabase(); 0069 void pullFromDatabase(); 0070 }; 0071 0072 #endif /* RESULTSET_QUICKCHECK_TEST_H */