/** * Iterates DocSets to test for equality - slow and for testing purposes only. * * @lucene.internal */ public static boolean equals(DocSet a, DocSet b) { DocIterator iter1 = a.iterator(); DocIterator iter2 = b.iterator(); for (; ; ) { boolean n1 = iter1.hasNext(); boolean n2 = iter2.hasNext(); if (n1 != n2) { return false; } if (!n1) return true; // made it to end int d1 = iter1.nextDoc(); int d2 = iter2.nextDoc(); if (d1 != d2) { return false; } } }
public void iter(DocSet d1, DocSet d2) { // HashDocSet and DocList doesn't iterate in order. if (d1 instanceof HashDocSet || d2 instanceof HashDocSet || d1 instanceof DocList || d2 instanceof DocList) return; DocIterator i1 = d1.iterator(); DocIterator i2 = d2.iterator(); assert (i1.hasNext() == i2.hasNext()); for (; ; ) { boolean b1 = i1.hasNext(); boolean b2 = i2.hasNext(); assertEquals(b1, b2); if (!b1) break; assertEquals(i1.nextDoc(), i2.nextDoc()); } }