public void TestDoAfterFlush()
 {
     MockRAMDirectory dir = new MockRAMDirectory();
     MockIndexWriter3 w = new MockIndexWriter3(dir, false, new WhitespaceAnalyzer(), true);
     Document doc = new Document();
     doc.Add(new Field("field", "a field", Field.Store.YES,
                       Field.Index.TOKENIZED));
     w.AddDocument(doc);
     w.Flush();
     Assert.IsTrue(w.wasCalled);
     w.wasCalled = true;
     w.DeleteDocuments(new Term("field", "field"));
     w.Flush();
     Assert.IsTrue(w.wasCalled);
     w.Close();
     dir.Close();
     IndexReader ir = IndexReader.Open(dir);
     Assert.AreEqual(1, ir.MaxDoc());
     Assert.AreEqual(0, ir.NumDocs());
     ir.Close();
 }
Example #2
0
        public virtual void TestDoBeforeAfterFlush()
        {
            MockRAMDirectory dir = new MockRAMDirectory();
            MockIndexWriter3 w = new MockIndexWriter3(this, dir, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED);
            Document doc = new Document();
            doc.Add(new Field("field", "a field", Field.Store.YES, Field.Index.ANALYZED));
            w.AddDocument(doc);
            w.Commit();
            Assert.IsTrue(w.beforeWasCalled);
            Assert.IsTrue(w.afterWasCalled);
            w.beforeWasCalled = false;
            w.afterWasCalled = false;
            w.DeleteDocuments(new Term("field", "field"));
            w.Commit();
            Assert.IsTrue(w.beforeWasCalled);
            Assert.IsTrue(w.afterWasCalled);
            w.Close();

            IndexReader ir = IndexReader.Open(dir);
            Assert.AreEqual(1, ir.MaxDoc());
            Assert.AreEqual(0, ir.NumDocs());
            ir.Close();

            dir.Close();
        }