Lucene.Net.Index.TestAddIndexesNoOptimize.TestSimpleCase C# (CSharp) Method

TestSimpleCase() private method

private TestSimpleCase ( ) : void
return void
		public virtual void  TestSimpleCase()
		{
			// main directory
			Directory dir = new RAMDirectory();
			// two auxiliary directories
			Directory aux = new RAMDirectory();
			Directory aux2 = new RAMDirectory();
			
			IndexWriter writer = null;
			
			writer = NewWriter(dir, true);
			// add 100 documents
			AddDocs(writer, 100);
			Assert.AreEqual(100, writer.MaxDoc());
			writer.Close();
			
			writer = NewWriter(aux, true);
			writer.UseCompoundFile = false; // use one without a compound file
			// add 40 documents in separate files
			AddDocs(writer, 40);
            Assert.AreEqual(40, writer.MaxDoc());
			writer.Close();
			
			writer = NewWriter(aux2, true);
			// add 40 documents in compound files
			AddDocs2(writer, 50);
            Assert.AreEqual(50, writer.MaxDoc());
			writer.Close();
			
			// test doc count before segments are merged
			writer = NewWriter(dir, false);
            Assert.AreEqual(100, writer.MaxDoc());
			writer.AddIndexesNoOptimize(new Directory[]{aux, aux2});
            Assert.AreEqual(190, writer.MaxDoc());
			writer.Close();
			
			// make sure the old index is correct
			VerifyNumDocs(aux, 40);
			
			// make sure the new index is correct
			VerifyNumDocs(dir, 190);
			
			// now add another set in.
			Directory aux3 = new RAMDirectory();
			writer = NewWriter(aux3, true);
			// add 40 documents
			AddDocs(writer, 40);
            Assert.AreEqual(40, writer.MaxDoc());
			writer.Close();
			
			// test doc count before segments are merged/index is optimized
			writer = NewWriter(dir, false);
            Assert.AreEqual(190, writer.MaxDoc());
			writer.AddIndexesNoOptimize(new Directory[]{aux3});
            Assert.AreEqual(230, writer.MaxDoc());
			writer.Close();
			
			// make sure the new index is correct
			VerifyNumDocs(dir, 230);
			
			VerifyTermDocs(dir, new Term("content", "aaa"), 180);
			
			VerifyTermDocs(dir, new Term("content", "bbb"), 50);
			
			// now optimize it.
			writer = NewWriter(dir, false);
			writer.Optimize();
			writer.Close();
			
			// make sure the new index is correct
			VerifyNumDocs(dir, 230);
			
			VerifyTermDocs(dir, new Term("content", "aaa"), 180);
			
			VerifyTermDocs(dir, new Term("content", "bbb"), 50);
			
			// now add a single document
			Directory aux4 = new RAMDirectory();
			writer = NewWriter(aux4, true);
			AddDocs2(writer, 1);
			writer.Close();
			
			writer = NewWriter(dir, false);
            Assert.AreEqual(230, writer.MaxDoc());
			writer.AddIndexesNoOptimize(new Directory[]{aux4});
            Assert.AreEqual(231, writer.MaxDoc());
			writer.Close();
			
			VerifyNumDocs(dir, 231);
			
			VerifyTermDocs(dir, new Term("content", "bbb"), 51);
		}