summaryrefslogtreecommitdiffstats
path: root/tests/tst_WonkoIndex.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tst_WonkoIndex.cpp')
-rw-r--r--tests/tst_WonkoIndex.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/tst_WonkoIndex.cpp b/tests/tst_WonkoIndex.cpp
new file mode 100644
index 00000000..076c806b
--- /dev/null
+++ b/tests/tst_WonkoIndex.cpp
@@ -0,0 +1,50 @@
+#include <QTest>
+#include "TestUtil.h"
+
+#include "wonko/WonkoIndex.h"
+#include "wonko/WonkoVersionList.h"
+#include "Env.h"
+
+class WonkoIndexTest : public QObject
+{
+ Q_OBJECT
+private
+slots:
+ void test_isProvidedByEnv()
+ {
+ QVERIFY(ENV.wonkoIndex() != nullptr);
+ QCOMPARE(ENV.wonkoIndex(), ENV.wonkoIndex());
+ }
+
+ void test_providesTasks()
+ {
+ QVERIFY(ENV.wonkoIndex()->localUpdateTask() != nullptr);
+ QVERIFY(ENV.wonkoIndex()->remoteUpdateTask() != nullptr);
+ }
+
+ void test_hasUid_and_getList()
+ {
+ WonkoIndex windex({std::make_shared<WonkoVersionList>("list1"), std::make_shared<WonkoVersionList>("list2"), std::make_shared<WonkoVersionList>("list3")});
+ QVERIFY(windex.hasUid("list1"));
+ QVERIFY(!windex.hasUid("asdf"));
+ QVERIFY(windex.getList("list2") != nullptr);
+ QCOMPARE(windex.getList("list2")->uid(), QString("list2"));
+ QVERIFY(windex.getList("adsf") == nullptr);
+ }
+
+ void test_merge()
+ {
+ WonkoIndex windex({std::make_shared<WonkoVersionList>("list1"), std::make_shared<WonkoVersionList>("list2"), std::make_shared<WonkoVersionList>("list3")});
+ QCOMPARE(windex.lists().size(), 3);
+ windex.merge(std::shared_ptr<WonkoIndex>(new WonkoIndex({std::make_shared<WonkoVersionList>("list1"), std::make_shared<WonkoVersionList>("list2"), std::make_shared<WonkoVersionList>("list3")})));
+ QCOMPARE(windex.lists().size(), 3);
+ windex.merge(std::shared_ptr<WonkoIndex>(new WonkoIndex({std::make_shared<WonkoVersionList>("list4"), std::make_shared<WonkoVersionList>("list2"), std::make_shared<WonkoVersionList>("list5")})));
+ QCOMPARE(windex.lists().size(), 5);
+ windex.merge(std::shared_ptr<WonkoIndex>(new WonkoIndex({std::make_shared<WonkoVersionList>("list6")})));
+ QCOMPARE(windex.lists().size(), 6);
+ }
+};
+
+QTEST_GUILESS_MAIN(WonkoIndexTest)
+
+#include "tst_WonkoIndex.moc"