Clover Coverage Report
Coverage timestamp: Fri May 9 2008 10:54:27 EST
26   62   2   26
0   46   0.08   1
1     2  
1    
 
  TestHitIterator       Line # 22 26 2 100% 1.0
 
  (1)
 
1    package org.apache.lucene;
2   
3    import junit.framework.TestCase;
4    import org.apache.lucene.store.RAMDirectory;
5    import org.apache.lucene.index.IndexWriter;
6    import org.apache.lucene.index.Term;
7    import org.apache.lucene.analysis.WhitespaceAnalyzer;
8    import org.apache.lucene.document.Document;
9    import org.apache.lucene.document.Field;
10    import org.apache.lucene.search.IndexSearcher;
11    import org.apache.lucene.search.TermQuery;
12    import org.apache.lucene.search.Hits;
13    import org.apache.lucene.search.Hit;
14    import org.apache.lucene.search.HitIterator;
15   
16    import java.util.NoSuchElementException;
17   
18    /**
19    * This test intentionally not put in the search package in order
20    * to test HitIterator and Hit package protection.
21    */
 
22    public class TestHitIterator extends TestCase {
 
23  1 toggle public void testIterator() throws Exception {
24  1 RAMDirectory directory = new RAMDirectory();
25   
26  1 IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(), true);
27  1 Document doc = new Document();
28  1 doc.add(new Field("field", "iterator test doc 1", Field.Store.YES, Field.Index.TOKENIZED));
29  1 writer.addDocument(doc);
30   
31  1 doc = new Document();
32  1 doc.add(new Field("field", "iterator test doc 2", Field.Store.YES, Field.Index.TOKENIZED));
33  1 writer.addDocument(doc);
34   
35  1 writer.close();
36   
37  1 IndexSearcher searcher = new IndexSearcher(directory);
38  1 Hits hits = searcher.search(new TermQuery(new Term("field", "iterator")));
39   
40  1 HitIterator iterator = (HitIterator) hits.iterator();
41  1 assertEquals(2, iterator.length());
42  1 assertTrue(iterator.hasNext());
43  1 Hit hit = (Hit) iterator.next();
44  1 assertEquals("iterator test doc 1", hit.get("field"));
45   
46  1 assertTrue(iterator.hasNext());
47  1 hit = (Hit) iterator.next();
48  1 assertEquals("iterator test doc 2", hit.getDocument().get("field"));
49   
50  1 assertFalse(iterator.hasNext());
51   
52  1 boolean caughtException = false;
53  1 try {
54  1 iterator.next();
55    } catch (NoSuchElementException e) {
56  1 assertTrue(true);
57  1 caughtException = true;
58    }
59   
60  1 assertTrue(caughtException);
61    }
62    }