Lucene.Net.Index.TestIndexReader.TestUniqueTermCount C# (CSharp) Method

TestUniqueTermCount() private method

private TestUniqueTermCount ( ) : void
return void
		public virtual void  TestUniqueTermCount()
		{
			Directory dir = new MockRAMDirectory();
			IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED);
			Document doc = new Document();
			doc.Add(new Field("field", "a b c d e f g h i j k l m n o p q r s t u v w x y z", Field.Store.NO, Field.Index.ANALYZED));
			doc.Add(new Field("number", "0 1 2 3 4 5 6 7 8 9", Field.Store.NO, Field.Index.ANALYZED));
			writer.AddDocument(doc);
			writer.AddDocument(doc);
			writer.Commit();
			
			IndexReader r = IndexReader.Open(dir, false);
			IndexReader r1 = SegmentReader.GetOnlySegmentReader(r);
			Assert.AreEqual(36, r1.UniqueTermCount);
			writer.AddDocument(doc);
			writer.Commit();
			IndexReader r2 = r.Reopen();
			r.Close();

			Assert.Throws<NotSupportedException>(() => { var tc = r2.UniqueTermCount; }, "expected exception");

			IndexReader[] subs = r2.GetSequentialSubReaders();
			for (int i = 0; i < subs.Length; i++)
			{
				Assert.AreEqual(36, subs[i].UniqueTermCount);
			}
			r2.Close();
			writer.Close();
			dir.Close();
		}