private static string CreateTempManagerAndFolder(string temporaryFolderBaseName) { TemporaryFolderManager manager = new TemporaryFolderManager(temporaryFolderBaseName); var folder = manager.CreateTemporaryFolder(); return(folder.FolderPath); }
public void CreateTemporaryFolder_CreateOnly() { TemporaryFolderManager manager = new TemporaryFolderManager(); var folder = manager.CreateTemporaryFolder(); Assert.StartsWith(manager.TemporaryFolderPath, folder.FolderPath); }
public void MultipleManagers() { // create a temporary folder and drop a file into it... TemporaryFolderManager manager1 = new TemporaryFolderManager(); var folder1 = manager1.CreateTemporaryFolder(); string filePath1 = Path.Combine(folder1.FolderPath, "file1.txt"); File.WriteAllText(filePath1, "Test"); // create another temporary folder manager TemporaryFolderManager manager2 = new TemporaryFolderManager(); var folder2 = manager2.CreateTemporaryFolder(); var filePath2 = Path.Combine(folder2.FolderPath, "file2.txt"); File.WriteAllText(filePath2, "Test"); // both managers should still have their files as both managers are alive // (manager 2 must not remove directories still managed by manager 1) Assert.True(File.Exists(filePath1)); Assert.True(File.Exists(filePath2)); // keep managers alive, otherwise the finalizer might clean up and remove directories GC.KeepAlive(manager1); GC.KeepAlive(manager2); }
public void CreateTemporaryFolder_CreateAndAddContent() { TemporaryFolderManager manager = new TemporaryFolderManager(); var folder = manager.CreateTemporaryFolder(); Assert.StartsWith(manager.TemporaryFolderPath, folder.FolderPath); // write a file to the temporary folder string filePath = Path.Combine(folder.FolderPath, "file.txt"); File.WriteAllText(filePath, "Test"); // add a directory to the temporary folder string directoryPath = Path.Combine(folder.FolderPath, "Test"); Directory.CreateDirectory(directoryPath); // dispose temporary folder Assert.True(Directory.Exists(folder.FolderPath)); folder.Dispose(); Assert.False(Directory.Exists(folder.FolderPath)); }