public virtual void TestFieldScore()
{
Directory dir = NewDirectory();
RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
Document doc = new Document();
doc.Add(NewTextField("value", "foo bar bar bar bar", Field.Store.NO));
writer.AddDocument(doc);
doc = new Document();
doc.Add(NewTextField("value", "foo foo foo foo foo", Field.Store.NO));
writer.AddDocument(doc);
IndexReader ir = writer.Reader;
writer.Dispose();
IndexSearcher searcher = NewSearcher(ir);
Sort sort = new Sort();
TopDocs actual = searcher.Search(new TermQuery(new Term("value", "foo")), 10, sort);
Assert.AreEqual(2, actual.TotalHits);
TopDocs expected = searcher.Search(new TermQuery(new Term("value", "foo")), 10);
// the two topdocs should be the same
Assert.AreEqual(expected.TotalHits, actual.TotalHits);
for (int i = 0; i < actual.ScoreDocs.Length; i++)
{
Assert.AreEqual(actual.ScoreDocs[i].Doc, expected.ScoreDocs[i].Doc);
}
ir.Dispose();
dir.Dispose();
}