File indexing completed on 2024-05-19 07:40:31
0001 /* 0002 This file is part of the KDE Baloo project. 0003 SPDX-FileCopyrightText: 2015 Vishesh Handa <vhanda@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.1-or-later 0006 */ 0007 0008 #include "idtreedb.h" 0009 #include "singledbtest.h" 0010 #include "postingiterator.h" 0011 0012 using namespace Baloo; 0013 0014 class IdTreeDBTest : public SingleDBTest 0015 { 0016 Q_OBJECT 0017 private Q_SLOTS: 0018 void test() { 0019 IdTreeDB db(IdTreeDB::create(m_txn), m_txn); 0020 0021 QVector<quint64> val = {5, 6, 7}; 0022 db.set(1, val); 0023 0024 QCOMPARE(db.get(1), val); 0025 0026 db.set(1, {}); 0027 QCOMPARE(db.get(1), QVector<quint64>()); 0028 } 0029 0030 void testIter() { 0031 IdTreeDB db(IdTreeDB::create(m_txn), m_txn); 0032 0033 db.set(1, {5, 6, 7, 8}); 0034 db.set(6, {9, 11, 19}); 0035 db.set(8, {13, 15}); 0036 db.set(13, {18}); 0037 0038 std::unique_ptr<PostingIterator> it{db.iter(1)}; 0039 QVERIFY(it); 0040 0041 QVector<quint64> result = {1, 5, 6, 7, 8, 9, 11, 13, 15, 18, 19}; 0042 for (quint64 val : result) { 0043 QCOMPARE(it->next(), static_cast<quint64>(val)); 0044 QCOMPARE(it->docId(), static_cast<quint64>(val)); 0045 } 0046 } 0047 }; 0048 0049 QTEST_MAIN(IdTreeDBTest) 0050 0051 #include "idtreedbtest.moc"