1 package org.apache.lucene.index;
2
3 import junit.framework.TestCase;
4 import org.apache.lucene.analysis.standard.StandardAnalyzer;
5 import org.apache.lucene.document.Document;
6 import org.apache.lucene.document.Field;
7 import org.apache.lucene.store.RAMDirectory;
8
9 import java.io.IOException;
10 import java.util.Vector;
11
12 public class TestIndexUtils extends TestCase
13 {
14 public void testTruncateIndex() throws IOException
15 {
16 RAMDirectory dir = new RAMDirectory();
17 IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(), true);
18 writer.setUseCompoundFile(true);
19 writer.setMaxBufferedDocs(2);
20 writer.addDocument(createDocument());
21 writer.addDocument(createDocument());
22 writer.addDocument(createDocument());
23 writer.addDocument(createDocument());
24 writer.close();
25
26 Vector deleteable = IndexUtils.readDeleteableFiles(dir);
27 assertEquals(0, deleteable.size());
28
29 SegmentInfos infos = new SegmentInfos();
30 infos.read(dir);
31 assertEquals(2, infos.size());
32
33 IndexUtils.truncateIndex(dir);
34 infos.clear();
35 infos.read(dir);
36 assertEquals(0, infos.size());
37
38 deleteable = IndexUtils.readDeleteableFiles(dir);
39 assertEquals(2, deleteable.size());
40 }
41
42 private Document createDocument()
43 {
44 Document d = new Document();
45 d.add(new Field("foo", "bar", Field.Store.YES, Field.Index.TOKENIZED));
46 return d;
47 }
48 }