1 #include <QTest>
2 #include "TestUtil.h"
3 
4 #include "meta/Index.h"
5 #include "meta/VersionList.h"
6 #include "Env.h"
7 
8 class IndexTest : public QObject
9 {
10     Q_OBJECT
11 private
12 slots:
test_isProvidedByEnv()13     void test_isProvidedByEnv()
14     {
15         QVERIFY(ENV.metadataIndex());
16         QCOMPARE(ENV.metadataIndex(), ENV.metadataIndex());
17     }
18 
test_hasUid_and_getList()19     void test_hasUid_and_getList()
20     {
21         Meta::Index windex({std::make_shared<Meta::VersionList>("list1"), std::make_shared<Meta::VersionList>("list2"), std::make_shared<Meta::VersionList>("list3")});
22         QVERIFY(windex.hasUid("list1"));
23         QVERIFY(!windex.hasUid("asdf"));
24         QVERIFY(windex.get("list2") != nullptr);
25         QCOMPARE(windex.get("list2")->uid(), QString("list2"));
26         QVERIFY(windex.get("adsf") != nullptr);
27     }
28 
test_merge()29     void test_merge()
30     {
31         Meta::Index windex({std::make_shared<Meta::VersionList>("list1"), std::make_shared<Meta::VersionList>("list2"), std::make_shared<Meta::VersionList>("list3")});
32         QCOMPARE(windex.lists().size(), 3);
33         windex.merge(std::shared_ptr<Meta::Index>(new Meta::Index({std::make_shared<Meta::VersionList>("list1"), std::make_shared<Meta::VersionList>("list2"), std::make_shared<Meta::VersionList>("list3")})));
34         QCOMPARE(windex.lists().size(), 3);
35         windex.merge(std::shared_ptr<Meta::Index>(new Meta::Index({std::make_shared<Meta::VersionList>("list4"), std::make_shared<Meta::VersionList>("list2"), std::make_shared<Meta::VersionList>("list5")})));
36         QCOMPARE(windex.lists().size(), 5);
37         windex.merge(std::shared_ptr<Meta::Index>(new Meta::Index({std::make_shared<Meta::VersionList>("list6")})));
38         QCOMPARE(windex.lists().size(), 6);
39     }
40 };
41 
42 QTEST_GUILESS_MAIN(IndexTest)
43 
44 #include "Index_test.moc"
45