public override void Run()
{
try
{
Document doc = new Document();
DirectoryReader r = DirectoryReader.Open(Dir);
Field f = NewStringField("f", "", Field.Store.NO);
doc.Add(f);
int count = 0;
do
{
if (Failed.Get())
{
break;
}
for (int j = 0; j < 10; j++)
{
string s = FinalI + "_" + Convert.ToString(count++);
f.StringValue = s;
w.AddDocument(doc);
w.Commit();
DirectoryReader r2 = DirectoryReader.OpenIfChanged(r);
Assert.IsNotNull(r2);
Assert.IsTrue(!r2.Equals(r));
r.Dispose();
r = r2;
Assert.AreEqual(1, r.DocFreq(new Term("f", s)), "term=f:" + s + "; r=" + r);
}
} while (DateTime.Now.Millisecond < EndTime);
r.Dispose();
}
catch (Exception t)
{
Failed.Set(true);
throw new Exception(t.Message, t);
}
}
}