public virtual void TestGetScores() { Directory directory = NewDirectory(); RandomIndexWriter writer = new RandomIndexWriter(Random, directory); writer.Commit(); IndexReader ir = writer.GetReader(); writer.Dispose(); IndexSearcher searcher = NewSearcher(ir); Weight fake = (new TermQuery(new Term("fake", "weight"))).CreateWeight(searcher); Scorer s = new SimpleScorer(fake); ScoreCachingCollector scc = new ScoreCachingCollector(scores.Length); scc.SetScorer(s); // We need to iterate on the scorer so that its doc() advances. int doc; while ((doc = s.NextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { scc.Collect(doc); } for (int i = 0; i < scores.Length; i++) { Assert.AreEqual(scores[i], scc.mscores[i], 0f); } ir.Dispose(); directory.Dispose(); }
public virtual void TestGetScores() { Scorer s = new SimpleScorer(); ScoreCachingCollector scc = new ScoreCachingCollector(scores.Length); scc.SetScorer(s); // We need to iterate on the scorer so that its doc() advances. int doc; while ((doc = s.NextDoc(null)) != DocIdSetIterator.NO_MORE_DOCS) { scc.Collect(doc, null); } for (int i = 0; i < scores.Length; i++) { Assert.AreEqual(scores[i], scc.mscores[i], 0f); } }