You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2011/07/04 16:06:38 UTC

svn commit: r1142676 - /lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java

Author: shaie
Date: Mon Jul  4 14:06:38 2011
New Revision: 1142676

URL: http://svn.apache.org/viewvc?rev=1142676&view=rev
Log:
LUCENE-3268: make TestScoredDocIDsUtils more robust to document deletions

Modified:
    lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java

Modified: lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java?rev=1142676&r1=1142675&r2=1142676&view=diff
==============================================================================
--- lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java (original)
+++ lucene/dev/trunk/modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java Mon Jul  4 14:06:38 2011
@@ -126,23 +126,18 @@ public class TestScoredDocIDsUtils exten
     Directory dir = newDirectory();
     IndexReader reader = createReaderWithNDocs(random, N_DOCS, docFactory, dir);
     try {
-      int numErasedDocs = reader.numDeletedDocs();
-      
       ScoredDocIDs allDocs = ScoredDocIdsUtils.createAllDocsScoredDocIDs(reader);
       ScoredDocIDsIterator it = allDocs.iterator();
       int numIteratedDocs = 0;
       while (it.next()) {
         numIteratedDocs++;
         int docNum = it.getDocID();
-        assertFalse(
-            "Deleted docs must not appear in the allDocsScoredDocIds set: " + docNum,
-            docFactory.markedDeleted(docNum));
+        assertNull(
+            "Deleted docs must not appear in the allDocsScoredDocIds set: " + docNum, 
+            reader.document(docNum).getFieldable("del"));
       }
 
       assertEquals("Wrong number of (live) documents", allDocs.size(), numIteratedDocs);
-      
-      assertEquals("Wrong number of (live) documents", N_DOCS
-          - numErasedDocs, numIteratedDocs);
 
       // Get all 'alpha' documents
       ScoredDocIdCollector collector = ScoredDocIdCollector.create(reader.maxDoc(), false);
@@ -169,9 +164,9 @@ public class TestScoredDocIDsUtils exten
         assertFalse(
             "Complement-Set must not contain deleted documents (doc="+docNum+")",
             deleted != null && deleted.get(docNum));
-        assertFalse(
-            "Complement-Set must not contain deleted documents (doc="+docNum+")",
-            docFactory.markedDeleted(docNum));
+        assertNull(
+            "Complement-Set must not contain docs from the original set (doc="+ docNum+")",
+            reader.document(docNum).getFieldable("del"));
         assertFalse(
             "Complement-Set must not contain docs from the original set (doc="+docNum+")",
             resultSet.fastGet(docNum));
@@ -211,6 +206,9 @@ public class TestScoredDocIDsUtils exten
       Document doc = new Document();
       if (markedDeleted(docNum)) {
         doc.add(deletionMark);
+        // Add a special field for docs that are marked for deletion. Later we
+        // assert that those docs are not returned by all-scored-doc-IDs.
+        doc.add(new Field("del", Integer.toString(docNum), Store.YES, Index.NO));
       }
 
       if (haveAlpha(docNum)) {
@@ -225,11 +223,9 @@ public class TestScoredDocIDsUtils exten
   }
 
   static IndexReader createReaderWithNDocs(Random random, int nDocs, DocumentFactory docFactory, Directory dir) throws IOException {
-    // Create the index - force log-merge policy since we rely on docs order.
     RandomIndexWriter writer = new RandomIndexWriter(random, dir,
         newIndexWriterConfig(random, TEST_VERSION_CURRENT,
-            new MockAnalyzer(random, MockTokenizer.KEYWORD, false))
-            .setMergePolicy(newLogMergePolicy()));
+            new MockAnalyzer(random, MockTokenizer.KEYWORD, false)));
     for (int docNum = 0; docNum < nDocs; docNum++) {
       writer.addDocument(docFactory.getDoc(docNum));
     }