Clover Coverage Report
Coverage timestamp: Fri May 9 2008 10:54:27 EST
67   206   20   6.09
18   114   0.3   11
11     1.82  
1    
 
  TestTermVectorsWriter       Line # 28 67 20 100% 1.0
 
  (5)
 
1    package org.apache.lucene.index;
2   
3    /**
4    * Copyright 2004 The Apache Software Foundation
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10    * http://www.apache.org/licenses/LICENSE-2.0
11    *
12    * Unless required by applicable law or agreed to in writing, software
13    * distributed under the License is distributed on an "AS IS" BASIS,
14    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15    * See the License for the specific language governing permissions and
16    * limitations under the License.
17    */
18   
19    import junit.framework.TestCase;
20   
21    import org.apache.lucene.analysis.standard.StandardAnalyzer;
22    import org.apache.lucene.document.Document;
23    import org.apache.lucene.document.Field;
24    import org.apache.lucene.store.RAMDirectory;
25   
26    import java.io.IOException;
27   
 
28    public class TestTermVectorsWriter extends TestCase {
29   
30    private String[] testTerms = {"this", "is", "a", "test"};
31    private String [] testFields = {"f1", "f2", "f3"};
32    private int[][] positions = new int[testTerms.length][];
33    private RAMDirectory dir = new RAMDirectory();
34    private String seg = "testSegment";
35    private FieldInfos fieldInfos = new FieldInfos();
36   
 
37  5 toggle public TestTermVectorsWriter(String s) {
38  5 super(s);
39    }
40   
 
41  5 toggle protected void setUp() {
42   
43  20 for (int i = 0; i < testFields.length; i++) {
44  15 fieldInfos.add(testFields[i], true, true);
45    }
46   
47   
48  25 for (int i = 0; i < testTerms.length; i++) {
49  20 positions[i] = new int[5];
50  120 for (int j = 0; j < positions[i].length; j++) {
51  100 positions[i][j] = j * 10;
52    }
53    }
54    }
55   
 
56  5 toggle protected void tearDown() {
57    }
58   
 
59  1 toggle public void test() {
60  1 assertTrue(dir != null);
61  1 assertTrue(positions != null);
62    }
63   
64    /*public void testWriteNoPositions() {
65    try {
66    TermVectorsWriter writer = new TermVectorsWriter(dir, seg, 50);
67    writer.openDocument();
68    assertTrue(writer.isDocumentOpen() == true);
69    writer.openField(0);
70    assertTrue(writer.isFieldOpen() == true);
71    for (int i = 0; i < testTerms.length; i++) {
72    writer.addTerm(testTerms[i], i);
73    }
74    writer.closeField();
75   
76    writer.closeDocument();
77    writer.close();
78    assertTrue(writer.isDocumentOpen() == false);
79    //Check to see the files were created
80    assertTrue(dir.fileExists(seg + TermVectorsWriter.TVD_EXTENSION));
81    assertTrue(dir.fileExists(seg + TermVectorsWriter.TVX_EXTENSION));
82    //Now read it back in
83    TermVectorsReader reader = new TermVectorsReader(dir, seg);
84    assertTrue(reader != null);
85    checkTermVector(reader, 0, 0);
86    } catch (IOException e) {
87    e.printStackTrace();
88    assertTrue(false);
89    }
90    } */
91   
 
92  1 toggle public void testWriter() throws IOException {
93  1 TermVectorsWriter writer = new TermVectorsWriter(dir, seg, fieldInfos);
94  1 writer.openDocument();
95  1 assertTrue(writer.isDocumentOpen() == true);
96  1 writeField(writer, testFields[0]);
97  1 writer.closeDocument();
98  1 writer.close();
99  1 assertTrue(writer.isDocumentOpen() == false);
100    //Check to see the files were created
101  1 assertTrue(dir.fileExists(seg + TermVectorsWriter.TVD_EXTENSION));
102  1 assertTrue(dir.fileExists(seg + TermVectorsWriter.TVX_EXTENSION));
103    //Now read it back in
104  1 TermVectorsReader reader = new TermVectorsReader(dir, seg, fieldInfos);
105  1 assertTrue(reader != null);
106  1 checkTermVector(reader, 0, testFields[0]);
107    }
108   
 
109  24 toggle private void checkTermVector(TermVectorsReader reader, int docNum, String field) throws IOException {
110  24 TermFreqVector vector = reader.get(docNum, field);
111  24 assertTrue(vector != null);
112  24 String[] terms = vector.getTerms();
113  24 assertTrue(terms != null);
114  24 assertTrue(terms.length == testTerms.length);
115  120 for (int i = 0; i < terms.length; i++) {
116  96 String term = terms[i];
117  96 assertTrue(term.equals(testTerms[i]));
118    }
119    }
120   
121    /**
122    * Test one document, multiple fields
123    * @throws IOException
124    */
 
125  1 toggle public void testMultipleFields() throws IOException {
126  1 TermVectorsWriter writer = new TermVectorsWriter(dir, seg, fieldInfos);
127  1 writeDocument(writer, testFields.length);
128   
129  1 writer.close();
130   
131  1 assertTrue(writer.isDocumentOpen() == false);
132    //Check to see the files were created
133  1 assertTrue(dir.fileExists(seg + TermVectorsWriter.TVD_EXTENSION));
134  1 assertTrue(dir.fileExists(seg + TermVectorsWriter.TVX_EXTENSION));
135    //Now read it back in
136  1 TermVectorsReader reader = new TermVectorsReader(dir, seg, fieldInfos);
137  1 assertTrue(reader != null);
138   
139  4 for (int j = 0; j < testFields.length; j++) {
140  3 checkTermVector(reader, 0, testFields[j]);
141    }
142    }
143   
 
144  11 toggle private void writeDocument(TermVectorsWriter writer, int numFields) throws IOException {
145  11 writer.openDocument();
146  11 assertTrue(writer.isDocumentOpen() == true);
147   
148  44 for (int j = 0; j < numFields; j++) {
149  33 writeField(writer, testFields[j]);
150    }
151  11 writer.closeDocument();
152  11 assertTrue(writer.isDocumentOpen() == false);
153    }
154   
155    /**
156    *
157    * @param writer The writer to write to
158    * @param f The field name
159    * @throws IOException
160    */
 
161  34 toggle private void writeField(TermVectorsWriter writer, String f) throws IOException {
162  34