Changeset View
Changeset View
Standalone View
Standalone View
autotests/unit/engine/phraseanditeratortest.cpp
Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Line(s) | 38 | { | |||
---|---|---|---|---|---|
62 | pi5.positions = {1, 4, 2}; | 62 | pi5.positions = {1, 4, 2}; | ||
63 | 63 | | |||
64 | QVector<PositionInfo> vec2; | 64 | QVector<PositionInfo> vec2; | ||
65 | vec2 << pi3 << pi4 << pi5; | 65 | vec2 << pi3 << pi4 << pi5; | ||
66 | 66 | | |||
67 | VectorPositionInfoIterator* it1 = new VectorPositionInfoIterator(vec1); | 67 | VectorPositionInfoIterator* it1 = new VectorPositionInfoIterator(vec1); | ||
68 | VectorPositionInfoIterator* it2 = new VectorPositionInfoIterator(vec2); | 68 | VectorPositionInfoIterator* it2 = new VectorPositionInfoIterator(vec2); | ||
69 | 69 | | |||
70 | QVector<PostingIterator*> vec = {it1, it2}; | 70 | QVector<VectorPositionInfoIterator*> vec = {it1, it2}; | ||
71 | PhraseAndIterator it(vec); | 71 | PhraseAndIterator it(vec); | ||
72 | QCOMPARE(it.docId(), static_cast<quint64>(0)); | 72 | QCOMPARE(it.docId(), static_cast<quint64>(0)); | ||
73 | 73 | | |||
74 | // The Query is "term1 term2". term1 must appear one position before term2 | 74 | // The Query is "term1 term2". term1 must appear one position before term2 | ||
75 | QVector<quint64> result = {2}; | 75 | QVector<quint64> result = {2}; | ||
76 | for (quint64 val : result) { | 76 | for (quint64 val : result) { | ||
77 | QCOMPARE(it.next(), static_cast<quint64>(val)); | 77 | QCOMPARE(it.next(), static_cast<quint64>(val)); | ||
78 | QCOMPARE(it.docId(), static_cast<quint64>(val)); | 78 | QCOMPARE(it.docId(), static_cast<quint64>(val)); | ||
Show All 18 Lines | 85 | { | |||
97 | pi2.positions = {6, 7}; | 97 | pi2.positions = {6, 7}; | ||
98 | 98 | | |||
99 | QVector<PositionInfo> vec2; | 99 | QVector<PositionInfo> vec2; | ||
100 | vec2 << pi2; | 100 | vec2 << pi2; | ||
101 | 101 | | |||
102 | VectorPositionInfoIterator* it1 = new VectorPositionInfoIterator(vec1); | 102 | VectorPositionInfoIterator* it1 = new VectorPositionInfoIterator(vec1); | ||
103 | VectorPositionInfoIterator* it2 = new VectorPositionInfoIterator(vec2); | 103 | VectorPositionInfoIterator* it2 = new VectorPositionInfoIterator(vec2); | ||
104 | 104 | | |||
105 | QVector<PostingIterator*> vec = {it1, nullptr, it2}; | 105 | QVector<VectorPositionInfoIterator*> vec = {it1, nullptr, it2}; | ||
106 | PhraseAndIterator it(vec); | 106 | PhraseAndIterator it(vec); | ||
107 | QCOMPARE(it.docId(), static_cast<quint64>(0)); | 107 | QCOMPARE(it.docId(), static_cast<quint64>(0)); | ||
108 | QCOMPARE(it.next(), static_cast<quint64>(0)); | 108 | QCOMPARE(it.next(), static_cast<quint64>(0)); | ||
109 | QCOMPARE(it.docId(), static_cast<quint64>(0)); | 109 | QCOMPARE(it.docId(), static_cast<quint64>(0)); | ||
110 | } | 110 | } | ||
111 | 111 | | |||
112 | QTEST_MAIN(PhraseAndIteratorTest) | 112 | QTEST_MAIN(PhraseAndIteratorTest) | ||
113 | 113 | | |||
114 | #include "phraseanditeratortest.moc" | 114 | #include "phraseanditeratortest.moc" |