Index: src/test/org/apache/lucene/index/TestOmitTf.java =================================================================== --- src/test/org/apache/lucene/index/TestOmitTf.java (revision 828638) +++ src/test/org/apache/lucene/index/TestOmitTf.java (working copy) @@ -36,6 +36,7 @@ import org.apache.lucene.search.BooleanClause.Occur; import org.apache.lucene.store.Directory; import org.apache.lucene.store.MockRAMDirectory; +import org.apache.lucene.search.Explanation.IDFExplanation; public class TestOmitTf extends LuceneTestCase { @@ -43,13 +44,20 @@ public static class SimpleSimilarity extends Similarity { public float lengthNorm(String field, int numTerms) { return 1.0f; } public float queryNorm(float sumOfSquaredWeights) { return 1.0f; } - public float tf(float freq) { return freq; } - public float sloppyFreq(int distance) { return 2.0f; } - public float idf(Collection terms, Searcher searcher) { return 1.0f; } public float idf(int docFreq, int numDocs) { return 1.0f; } public float coord(int overlap, int maxOverlap) { return 1.0f; } + public IDFExplanation idfExplain(Collection terms, Searcher searcher) throws IOException { + return new IDFExplanation() { + public float getIdf() { + return 1.0f; + } + public String explain() { + return "Inexplicable"; + } + }; + } } Index: src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java =================================================================== --- src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java (revision 828638) +++ src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java (working copy) @@ -40,6 +40,7 @@ import org.apache.lucene.store.RAMDirectory; import org.apache.lucene.util.English; import org.apache.lucene.util.LuceneTestCase; +import org.apache.lucene.search.Explanation.IDFExplanation; public class TestPayloadNearQuery extends LuceneTestCase { @@ -214,8 +215,17 @@ return 1; } // idf used for phrase queries - public float idf(Collection terms, Searcher searcher) { - return 1; - } + // idf used for phrase queries + public IDFExplanation idfExplain(Collection terms, Searcher searcher) throws IOException { + return new IDFExplanation() { + public float getIdf() { + return 1.0f; + } + + public String explain() { + return "Inexplicable"; + } + }; + } } } Index: src/test/org/apache/lucene/search/TestSimilarity.java =================================================================== --- src/test/org/apache/lucene/search/TestSimilarity.java (revision 828638) +++ src/test/org/apache/lucene/search/TestSimilarity.java (working copy) @@ -29,6 +29,7 @@ import org.apache.lucene.analysis.SimpleAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.search.Explanation.IDFExplanation; /** Similarity unit test. * @@ -45,9 +46,18 @@ public float queryNorm(float sumOfSquaredWeights) { return 1.0f; } public float tf(float freq) { return freq; } public float sloppyFreq(int distance) { return 2.0f; } - public float idf(Collection terms, Searcher searcher) { return 1.0f; } public float idf(int docFreq, int numDocs) { return 1.0f; } public float coord(int overlap, int maxOverlap) { return 1.0f; } + public IDFExplanation idfExplain(Collection terms, Searcher searcher) throws IOException { + return new IDFExplanation() { + public float getIdf() { + return 1.0f; + } + public String explain() { + return "Inexplicable"; + } + }; + } } public void testSimilarity() throws Exception { @@ -80,7 +90,7 @@ this.scorer = scorer; } public final void collect(int doc) throws IOException { - assertTrue(scorer.score() == 1.0f); + assertEquals(new Float(1.0f), new Float(scorer.score())); } public void setNextReader(IndexReader reader, int docBase) {} public boolean acceptsDocsOutOfOrder() { @@ -100,7 +110,7 @@ } public final void collect(int doc) throws IOException { //System.out.println("Doc=" + doc + " score=" + score); - assertTrue(scorer.score() == (float)doc+base+1); + assertEquals(new Float((float)doc+base+1), new Float(scorer.score())); } public void setNextReader(IndexReader reader, int docBase) { base = docBase; @@ -114,8 +124,7 @@ pq.add(a); pq.add(c); //System.out.println(pq.toString("field")); - searcher.search - (pq, + searcher.search(pq, new Collector() { private Scorer scorer; public void setScorer(Scorer scorer) throws IOException { @@ -123,7 +132,7 @@ } public final void collect(int doc) throws IOException { //System.out.println("Doc=" + doc + " score=" + score); - assertTrue(scorer.score() == 1.0f); + assertEquals(new Float(1.0f), new Float(scorer.score())); } public void setNextReader(IndexReader reader, int docBase) {} public boolean acceptsDocsOutOfOrder() { @@ -140,7 +149,7 @@ } public final void collect(int doc) throws IOException { //System.out.println("Doc=" + doc + " score=" + score); - assertTrue(scorer.score() == 2.0f); + assertEquals(new Float(2.0f), new Float(scorer.score())); } public void setNextReader(IndexReader reader, int docBase) {} public boolean acceptsDocsOutOfOrder() { Index: src/test/org/apache/lucene/search/TestTermVectors.java =================================================================== --- src/test/org/apache/lucene/search/TestTermVectors.java (revision 828638) +++ src/test/org/apache/lucene/search/TestTermVectors.java (working copy) @@ -258,7 +258,7 @@ //System.out.println("Doc Id: " + docId + " freq " + freq); TermFreqVector vector = knownSearcher.reader.getTermFreqVector(docId, "field"); float tf = sim.tf(freq); - float idf = sim.idf(term, knownSearcher); + float idf = sim.idf(knownSearcher.docFreq(term), knownSearcher.maxDoc()); //float qNorm = sim.queryNorm() //This is fine since we don't have stop words float lNorm = sim.lengthNorm("field", vector.getTerms().length);