@Test public void testMultipleOccurrences() throws Exception { this.addDocument("<http://renaud.delbru.fr/> \"renaud delbru delbru renaud renaud delbru\" . "); NodeQuery q = npq("renaud", "delbru").getNodeQuery(); NodePhraseScorer scorer = (NodePhraseScorer) this.getScorer(q); assertTrue(scorer.nextCandidateDocument()); assertEquals(0, scorer.doc()); assertTrue(scorer.nextNode()); assertEquals(node(0,0), scorer.node()); assertEquals(1.0f, scorer.freqInNode(), 0); assertTrue(scorer.nextNode()); assertEquals(node(0,1), scorer.node()); assertEquals(2.0f, scorer.freqInNode(), 0); assertFalse(scorer.nextNode()); assertFalse(scorer.nextCandidateDocument()); q = npq("renaud", "", "delbru").getNodeQuery(); scorer = (NodePhraseScorer) this.getScorer(q); assertTrue(scorer.nextCandidateDocument()); assertEquals(0, scorer.doc()); assertTrue(scorer.nextNode()); assertEquals(node(0,1), scorer.node()); assertEquals(2.0f, scorer.freqInNode(), 0); assertFalse(scorer.nextNode()); assertFalse(scorer.nextCandidateDocument()); }