mirror of https://github.com/apache/lucene.git
LUCENE-6271: test fixes
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene6271@1670454 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
14f3789d18
commit
b9f4e66436
|
@ -172,9 +172,10 @@ public class TestBlockPostingsFormat3 extends LuceneTestCase {
|
|||
|
||||
// NOTE: we don't assert hasOffsets/hasPositions/hasPayloads because they are allowed to be different
|
||||
|
||||
boolean bothHavePositions = leftTerms.hasPositions() && rightTerms.hasPositions();
|
||||
TermsEnum leftTermsEnum = leftTerms.iterator(null);
|
||||
TermsEnum rightTermsEnum = rightTerms.iterator(null);
|
||||
assertTermsEnum(leftTermsEnum, rightTermsEnum, true);
|
||||
assertTermsEnum(leftTermsEnum, rightTermsEnum, true, bothHavePositions);
|
||||
|
||||
assertTermsSeeking(leftTerms, rightTerms);
|
||||
|
||||
|
@ -187,7 +188,7 @@ public class TestBlockPostingsFormat3 extends LuceneTestCase {
|
|||
// TODO: test start term too
|
||||
TermsEnum leftIntersection = leftTerms.intersect(automaton, null);
|
||||
TermsEnum rightIntersection = rightTerms.intersect(automaton, null);
|
||||
assertTermsEnum(leftIntersection, rightIntersection, rarely());
|
||||
assertTermsEnum(leftIntersection, rightIntersection, rarely(), bothHavePositions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -280,7 +281,7 @@ public class TestBlockPostingsFormat3 extends LuceneTestCase {
|
|||
* checks the terms enum sequentially
|
||||
* if deep is false, it does a 'shallow' test that doesnt go down to the docsenums
|
||||
*/
|
||||
public void assertTermsEnum(TermsEnum leftTermsEnum, TermsEnum rightTermsEnum, boolean deep) throws Exception {
|
||||
public void assertTermsEnum(TermsEnum leftTermsEnum, TermsEnum rightTermsEnum, boolean deep, boolean hasPositions) throws Exception {
|
||||
BytesRef term;
|
||||
Bits randomBits = new RandomBits(MAXDOC, random().nextDouble(), random());
|
||||
PostingsEnum leftPositions = null;
|
||||
|
@ -292,56 +293,58 @@ public class TestBlockPostingsFormat3 extends LuceneTestCase {
|
|||
assertEquals(term, rightTermsEnum.next());
|
||||
assertTermStats(leftTermsEnum, rightTermsEnum);
|
||||
if (deep) {
|
||||
// with payloads + off
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.ALL),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.ALL));
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.ALL),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.ALL));
|
||||
if (hasPositions) {
|
||||
// with payloads + off
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.ALL),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.ALL));
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.ALL),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.ALL));
|
||||
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.ALL),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.ALL));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.ALL),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.ALL));
|
||||
// with payloads only
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.PAYLOADS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.PAYLOADS));
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.PAYLOADS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.PAYLOADS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.ALL),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.ALL));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.ALL),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.ALL));
|
||||
// with payloads only
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.PAYLOADS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.PAYLOADS));
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.PAYLOADS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.PAYLOADS));
|
||||
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.PAYLOADS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.PAYLOADS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.PAYLOADS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.PAYLOADS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.PAYLOADS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.PAYLOADS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.PAYLOADS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.PAYLOADS));
|
||||
|
||||
// with offsets only
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.OFFSETS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.OFFSETS));
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.OFFSETS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.OFFSETS));
|
||||
// with offsets only
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.OFFSETS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.OFFSETS));
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.OFFSETS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.OFFSETS));
|
||||
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.OFFSETS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.OFFSETS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.OFFSETS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.OFFSETS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.OFFSETS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.OFFSETS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.OFFSETS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.OFFSETS));
|
||||
|
||||
// with positions only
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.POSITIONS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.POSITIONS));
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.POSITIONS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.POSITIONS));
|
||||
// with positions only
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.POSITIONS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.POSITIONS));
|
||||
assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.POSITIONS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.POSITIONS));
|
||||
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.POSITIONS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.POSITIONS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.POSITIONS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.POSITIONS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.POSITIONS),
|
||||
rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.POSITIONS));
|
||||
assertPositionsSkipping(leftTermsEnum.docFreq(),
|
||||
leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.POSITIONS),
|
||||
rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.POSITIONS));
|
||||
}
|
||||
|
||||
// with freqs:
|
||||
assertDocsEnum(leftDocs = leftTermsEnum.postings(null, leftDocs),
|
||||
|
@ -389,11 +392,8 @@ public class TestBlockPostingsFormat3 extends LuceneTestCase {
|
|||
* checks docs + freqs + positions + payloads, sequentially
|
||||
*/
|
||||
public void assertDocsAndPositionsEnum(PostingsEnum leftDocs, PostingsEnum rightDocs) throws Exception {
|
||||
if (leftDocs == null || rightDocs == null) {
|
||||
assertNull(leftDocs);
|
||||
assertNull(rightDocs);
|
||||
return;
|
||||
}
|
||||
assertNotNull(leftDocs);
|
||||
assertNotNull(rightDocs);
|
||||
assertEquals(-1, leftDocs.docID());
|
||||
assertEquals(-1, rightDocs.docID());
|
||||
int docid;
|
||||
|
|
|
@ -51,7 +51,7 @@ public class TestOmitPositions extends LuceneTestCase {
|
|||
IndexReader reader = w.getReader();
|
||||
w.close();
|
||||
|
||||
assertNull(MultiFields.getTermPositionsEnum(reader, null, "foo", new BytesRef("test")));
|
||||
assertNotNull(MultiFields.getTermPositionsEnum(reader, null, "foo", new BytesRef("test")));
|
||||
|
||||
PostingsEnum de = TestUtil.docs(random(), reader, "foo", new BytesRef("test"), null, null, PostingsEnum.FREQS);
|
||||
while (de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
|
||||
|
|
Loading…
Reference in New Issue