Lucene.Net.Index.TestRollingUpdates.IndexingThread.Run C# (CSharp) Method

Run() public method

public Run ( ) : void
return void
            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);
                }
            }
        }
TestRollingUpdates.IndexingThread