public virtual void TestUpdateAllDeletedSegment()
{
Directory dir = NewDirectory();
IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random()));
IndexWriter writer = new IndexWriter(dir, conf);
Document doc = new Document();
doc.Add(new StringField("id", "doc", Store.NO));
doc.Add(new NumericDocValuesField("f1", 1L));
writer.AddDocument(doc);
writer.AddDocument(doc);
writer.Commit();
writer.DeleteDocuments(new Term("id", "doc")); // delete all docs in the first segment
writer.AddDocument(doc);
writer.UpdateNumericDocValue(new Term("id", "doc"), "f1", 2L);
writer.Dispose();
DirectoryReader reader = DirectoryReader.Open(dir);
Assert.AreEqual(1, reader.Leaves.Count);
Assert.AreEqual(2L, ((AtomicReader)reader.Leaves[0].Reader).GetNumericDocValues("f1").Get(0));
reader.Dispose();
dir.Dispose();
}