public virtual void TestBasic() { HashSet <string> fileExtensions = new HashSet <string>(); fileExtensions.Add("fdt"); fileExtensions.Add("fdx"); Directory primaryDir = new MockRAMDirectory(); RAMDirectory secondaryDir = new MockRAMDirectory(); FileSwitchDirectory fsd = new FileSwitchDirectory(fileExtensions, primaryDir, secondaryDir, true); IndexWriter writer = new IndexWriter(fsd, new WhitespaceAnalyzer(), IndexWriter.MaxFieldLength.LIMITED, null); writer.UseCompoundFile = false; TestIndexWriterReader.CreateIndexNoClose(true, "ram", writer); IndexReader reader = writer.GetReader(null); Assert.AreEqual(100, reader.MaxDoc); writer.Commit(null); // we should see only fdx,fdt files here System.String[] files = primaryDir.ListAll(null); Assert.IsTrue(files.Length > 0); for (int x = 0; x < files.Length; x++) { System.String ext = FileSwitchDirectory.GetExtension(files[x]); Assert.IsTrue(fileExtensions.Contains(ext)); } files = secondaryDir.ListAll(null); Assert.IsTrue(files.Length > 0); // we should not see fdx,fdt files here for (int x = 0; x < files.Length; x++) { System.String ext = FileSwitchDirectory.GetExtension(files[x]); Assert.IsFalse(fileExtensions.Contains(ext)); } reader.Close(); writer.Close(); files = fsd.ListAll(null); for (int i = 0; i < files.Length; i++) { Assert.IsNotNull(files[i]); } fsd.Close(); }
public virtual void TestBasic() { HashSet<string> fileExtensions = new HashSet<string>(); fileExtensions.Add("fdt"); fileExtensions.Add("fdx"); Directory primaryDir = new MockRAMDirectory(); RAMDirectory secondaryDir = new MockRAMDirectory(); FileSwitchDirectory fsd = new FileSwitchDirectory(fileExtensions, primaryDir, secondaryDir, true); IndexWriter writer = new IndexWriter(fsd, new WhitespaceAnalyzer(), IndexWriter.MaxFieldLength.LIMITED); writer.UseCompoundFile = false; TestIndexWriterReader.CreateIndexNoClose(true, "ram", writer); IndexReader reader = writer.GetReader(); Assert.AreEqual(100, reader.MaxDoc); writer.Commit(); // we should see only fdx,fdt files here System.String[] files = primaryDir.ListAll(); Assert.IsTrue(files.Length > 0); for (int x = 0; x < files.Length; x++) { System.String ext = FileSwitchDirectory.GetExtension(files[x]); Assert.IsTrue(fileExtensions.Contains(ext)); } files = secondaryDir.ListAll(); Assert.IsTrue(files.Length > 0); // we should not see fdx,fdt files here for (int x = 0; x < files.Length; x++) { System.String ext = FileSwitchDirectory.GetExtension(files[x]); Assert.IsFalse(fileExtensions.Contains(ext)); } reader.Close(); writer.Close(); files = fsd.ListAll(); for (int i = 0; i < files.Length; i++) { Assert.IsNotNull(files[i]); } fsd.Close(); }