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(); }
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(); }