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();
}