public override void Run()
{
try
{
DirectoryReader open = null;
for (int i = 0; i < Num; i++)
{
Documents.Document doc = new Documents.Document(); // docs.NextDoc();
doc.Add(NewStringField("id", "test", Field.Store.NO));
Writer.UpdateDocument(new Term("id", "test"), doc);
if (Random().Next(3) == 0)
{
if (open == null)
{
open = DirectoryReader.Open(Writer, true);
}
DirectoryReader reader = DirectoryReader.OpenIfChanged(open);
if (reader != null)
{
open.Dispose();
open = reader;
}
Assert.AreEqual(1, open.NumDocs, "iter: " + i + " numDocs: " + open.NumDocs + " del: " + open.NumDeletedDocs + " max: " + open.MaxDoc);
}
}
if (open != null)
{
open.Dispose();
}
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
}
}