Clover Coverage Report
Coverage timestamp: Fri May 9 2008 10:54:27 EST
125   164   3   41.67
0   148   0.02   3
3     1  
1    
 
  TestParallelTermEnum       Line # 14 125 3 100% 1.0
 
  (1)
 
1    package org.apache.lucene.index;
2   
3    import java.io.IOException;
4   
5    import junit.framework.TestCase;
6   
7    import org.apache.lucene.analysis.SimpleAnalyzer;
8    import org.apache.lucene.document.Document;
9    import org.apache.lucene.document.Field;
10    import org.apache.lucene.document.Field.Index;
11    import org.apache.lucene.document.Field.Store;
12    import org.apache.lucene.store.RAMDirectory;
13   
 
14    public class TestParallelTermEnum extends TestCase {
15    private IndexReader ir1;
16    private IndexReader ir2;
17   
 
18  1 toggle protected void setUp() throws Exception {
19  1 super.setUp();
20  1 Document doc;
21   
22  1 RAMDirectory rd1 = new RAMDirectory();
23  1 IndexWriter iw1 = new IndexWriter(rd1, new SimpleAnalyzer(), true);
24   
25  1 doc = new Document();
26  1 doc.add(new Field("field1", "the quick brown fox jumps", Store.YES,
27    Index.TOKENIZED));
28  1 doc.add(new Field("field2", "the quick brown fox jumps", Store.YES,
29    Index.TOKENIZED));
30  1 doc.add(new Field("field4", "", Store.NO, Index.TOKENIZED));
31  1 iw1.addDocument(doc);
32   
33  1 iw1.close();
34  1 RAMDirectory rd2 = new RAMDirectory();
35  1 IndexWriter iw2 = new IndexWriter(rd2, new SimpleAnalyzer(), true);
36   
37  1 doc = new Document();
38  1 doc.add(new Field("field0", "", Store.NO, Index.TOKENIZED));
39  1 doc.add(new Field("field1", "the fox jumps over the lazy dog",
40    Store.YES, Index.TOKENIZED));
41  1 doc.add(new Field("field3", "the fox jumps over the lazy dog",
42    Store.YES, Index.TOKENIZED));
43  1 iw2.addDocument(doc);
44   
45  1 iw2.close();
46   
47  1 this.ir1 = IndexReader.open(rd1);
48  1 this.ir2 = IndexReader.open(rd2);
49    }
50   
 
51  1 toggle protected void tearDown() throws Exception {
52  1 super.tearDown();
53   
54  1 ir1.close();
55  1 ir2.close();
56    }
57   
 
58  1 toggle public void test1() throws IOException {
59  1 ParallelReader pr = new ParallelReader();
60  1 pr.add(ir1);
61  1 pr.add(ir2);
62   
63  1 TermDocs td = pr.termDocs();
64   
65  1 TermEnum te = pr.terms();
66  1 assertTrue(te.next());
67  1 assertEquals("field1:brown", te.term().toString());
68  1 td.seek(te.term());
69  1 assertTrue(td.next());
70  1 assertEquals(0, td.doc());
71  1 assertFalse(td.next());
72  1 assertTrue(te.next());
73  1 assertEquals("field1:fox", te.term().toString());
74  1 td.seek(te.term());
75  1 assertTrue(td.next());
76  1 assertEquals(0, td.doc());
77  1 assertFalse(td.next());
78  1 assertTrue(te.next());
79  1 assertEquals("field1:jumps", te.term().toString());
80  1 td.seek(te.term());
81  1 assertTrue(td.next());
82  1 assertEquals(0, td.doc());
83  1 assertFalse(td.next());
84  1 assertTrue(te.next());
85  1 assertEquals("field1:quick", te.term().toString());
86  1 td.seek(te.term());
87  1 assertTrue(td.next());
88  1 assertEquals(0, td.doc());
89  1 assertFalse(td.next());
90  1 assertTrue(te.next());
91  1 assertEquals("field1:the", te.term().toString());
92  1 td.seek(te.term());
93  1 assertTrue(td.next());
94  1 assertEquals(0, td.doc());
95  1 assertFalse(td.next());
96  1 assertTrue(te.next());
97  1 assertEquals("field2:brown", te.term().toString());
98  1 td.seek(te.term());
99  1 assertTrue(td.next());
100  1 assertEquals(0, td.doc());
101  1 assertFalse(td.next());
102  1 assertTrue(te.next());
103  1 assertEquals("field2:fox", te.term().toString());
104  1 td.seek(te.term());
105  1 assertTrue(td.next());
106  1 assertEquals(0, td.doc());
107  1 assertFalse(td.next());
108  1 assertTrue(te.next());
109  1 assertEquals("field2:jumps", te.term().toString());
110  1 td.seek(te.term());
111  1 assertTrue(td.next());
112  1 assertEquals(0, td.doc());
113  1 assertFalse(td.next());
114  1 assertTrue(te.next());
115  1 assertEquals("field2:quick", te.term().toString());
116  1 td.seek(te.term());
117  1 assertTrue(td.next());
118  1 assertEquals(0, td.doc());
119  1 assertFalse(td.next());
120  1 assertTrue(te.next());
121  1 assertEquals("field2:the", te.term().toString());
122  1 td.seek(te.term());
123  1 assertTrue(td.next());
124  1 assertEquals(0, td.doc());
125  1 assertFalse(td.next());
126  1 assertTrue(te.next());
127  1 assertEquals("field3:dog", te.term().toString());
128  1 td.seek(te.term());
129  1 assertTrue(td.next());
130  1 assertEquals(0, td.doc());
131  1 assertFalse(td.next());
132  1 assertTrue(te.next());
133  1 assertEquals("field3:fox", te.term().toString());
134  1 td.seek(te.term());
135  1 assertTrue(td.next());
136  1 assertEquals(0, td.doc());
137  1 assertFalse(td.next());
138  1 assertTrue(te.next());
139  1 assertEquals("field3:jumps", te.term().toString());
140  1 td.seek(te.term());
141  1 assertTrue(td.next());
142  1 assertEquals(0, td.doc());
143  1 assertFalse(td.next());
144  1 assertTrue(te.next());
145  1 assertEquals("field3:lazy", te.term().toString());
146  1 td.seek(te.term());
147  1 assertTrue(td.next());
148  1 assertEquals(0, td.doc());
149  1 assertFalse(td.next());
150  1 assertTrue(te.next());
151  1 assertEquals("field3:over", te.term().toString());
152  1 td.seek(te.term());
153  1 assertTrue(td.next());
154  1 assertEquals(0, td.doc());
155  1 assertFalse(td.next());
156  1 assertTrue(te.next());
157  1 assertEquals("field3:the", te.term().toString());
158  1 td.seek(te.term());
159  1 assertTrue(td.next());
160  1 assertEquals(0, td.doc());
161  1 assertFalse(td.next());
162  1 assertFalse(te.next());
163    }
164    }