public void Remove()
        {
            if (Keep || !_componentDirectory.Exists)
            {
                return;
            }

            try
            {
                StaticViewModel.AddDebugMessage($"Removing {_componentDirectory.FullName}");

                foreach (IFileInfo file in _componentDirectory.EnumerateFiles("*", SearchOption.AllDirectories))
                {
                    if (file.IsReadOnly)
                    {
                        file.IsReadOnly = false;
                    }
                }

                _componentDirectory.Delete(true);
            }
            catch (Exception ex)
            {
                StaticViewModel.AddDebugMessage(ex, $"Unable to delete {_componentDirectory.FullName}");
            }
        }
Пример #2
0
        private void DeleteFolderWithSubfolders()
        {
            string folder = string.Format("{0}\\{1}", GetRootFolder(), "folder1");

            FileSystemAwareDirectoryInfoProvider dirInfoProvider = new FileSystemAwareDirectoryInfoProvider(new DeviceManager());

            DisplayMessage(string.Format("Deleteing {0}", folder));

            IDirectoryInfo info1 = dirInfoProvider.GetDirectoryInfo(folder);

            info1.Delete();
            if (!info1.Exists)
            {
                DisplayMessage(string.Format("{0} Deleted OK", info1.FullName));
            }
            else
            {
                DisplayMessage(string.Format("{0} Failed to delete", info1.FullName), DisplayLevel.Error);
            }

            IDirectoryInfo info2 = dirInfoProvider.GetDirectoryInfo(GetRootFolder());

            info2.Delete();
            if (!info2.Exists)
            {
                DisplayMessage(string.Format("{0} Deleted OK", info2.FullName));
            }
            else
            {
                DisplayMessage(string.Format("{0} Failed to delete", info2.FullName), DisplayLevel.Error);
            }
        }
        public void TearDown()
        {
            if (Environment.GetEnvironmentVariable("EAW_CI_TEST_STEAM_CLIENT") != "YES")
            {
                return;
            }

            string?itemIdString = Environment.GetEnvironmentVariable("EAW_CI_STEAM_WORKSHOP_ITEM_ID");

            if (itemIdString == null)
            {
                return;
            }

            _steamAppIdFile.Delete();
            _itemFolder.Delete(true);
            _descriptionFile.Delete();

            Item          item      = GetItem(_itemId);
            DirectoryInfo directory = new DirectoryInfo(item.Directory);

            if (directory.Exists)
            {
                directory.Delete(true);
            }

            SteamClient.Shutdown();
        }
Пример #4
0
 public void TearDown()
 {
     _sourceFileInfo.Delete();
     _targetFileInfo.Delete();
     _directoryInfo.Delete();
     Assert.IsFalse(_fileSystem.File.Exists(GetPlatformSourcePath()));
     Assert.IsFalse(_fileSystem.File.Exists(GetPlatformTargetPath()));
 }
        private static void RecursiveDelete(IDirectoryInfo directoryInfo)
        {
            if (!directoryInfo.Exists)
            {
                return;
            }

            directoryInfo.EnumerateDirectories().ForEach(dir => RecursiveDelete(dir));
            directoryInfo.Delete(true);
        }
Пример #6
0
        public void DeleteTrue()
        {
            string         fileName = "test1";
            string         fullPath = Path.Combine(this.testFolder.FullName, fileName);
            IDirectoryInfo dirInfo  = Factory.CreateDirectoryInfo(fullPath);

            dirInfo.Create();
            Assert.That(dirInfo.Exists, Is.True);
            dirInfo.Delete(true);
            dirInfo.Refresh();
            Assert.That(dirInfo.Exists, Is.False);
        }
Пример #7
0
        public static void DeleteIfEmpty(this IDirectoryInfo directoryInfo)
        {
            if (!directoryInfo.Exists)
            {
                return;
            }

            if (!directoryInfo.IsEmpty())
            {
                return;
            }

            directoryInfo.Delete(true);
        }
Пример #8
0
        /// <summary>
        /// remove a folder if there are no files in it, used by the synchroniser
        /// </summary>
        /// <param name="folder">folder to delete</param>
        /// <param name="whatIf">true to emit all the status updates but not actually perform the deletes, false to do the delete</param>
        public void RemoveFolderIfEmpty(string folder, bool whatIf)
        {
            IDirectoryInfo directoryInfo = _directoryInfoProvider.GetDirectoryInfo(folder);

            if (!directoryInfo.Exists)
            {
                return;
            }

            IDirectoryInfo[] subFolders;
            try
            {
                subFolders = directoryInfo.GetDirectories("*.*");
            }
            catch (DirectoryNotFoundException)
            {
                // if the folder is not there then there is nothing to do
                return;
            }

            if (subFolders != null && subFolders.Length > 0)
            {
                // the folder is not empty - there are subfolders
                return;
            }

            IFileInfo[] files;
            try
            {
                files = directoryInfo.GetFiles("*.*");
            }
            catch (DirectoryNotFoundException)
            {
                // if the folder is not there then there is nothing to do
                return;
            }

            if (files != null && files.Length > 0)
            {
                // the folder is not empty there are files
                return;
            }

            OnStatusUpdate(string.Format(CultureInfo.InvariantCulture, "Removing folder: {0}", directoryInfo.FullName));
            if (!whatIf)
            {
                directoryInfo.Delete();
            }
        }
        private void When_deleting_directory_recursively_it_must_succeed()
        {
            // Arrange
            const string path = @"c:\some\folder";

            IFileSystem fileSystem = new FakeFileSystemBuilder()
                                     .IncludingDirectory(path)
                                     .Build();

            IDirectoryInfo dirInfo = fileSystem.ConstructDirectoryInfo(path);

            // Act
            dirInfo.Delete(true);

            // Assert
            fileSystem.Directory.Exists(path).Should().BeFalse();
        }
Пример #10
0
        public void CreateDirectory_MoveTo()
        {
            //arange
            IDirectory directory = new DirectoryWrap(); // should create this somewhere and inject into you method for later mocking
            var        source    = Path.GetRandomFileName();
            var        target    = Path.GetRandomFileName();

            //act
            IDirectoryInfo info = directory.CreateDirectory(source);

            info.MoveTo(target);

            //assert
            Assert.IsTrue(info.Exists);

            // clean
            info.Delete();
        }
Пример #11
0
        public void Remove_Directory_Does_Not_Exist_Does_Nothing()
        {
            MockFileSystem fileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { @"C:\driver\path1\path2\display\component1\driver.inf", new MockFileData(string.Empty) }
            });

            IDirectoryInfo        rootDir               = fileSystem.DirectoryInfo.FromDirectoryName(@"C:\driver");
            IDirectoryInfo        componentDir          = fileSystem.DirectoryInfo.FromDirectoryName(@"C:\driver\path1\path2\display\component1");
            DisplayComponentModel displayComponentModel = new DisplayComponentModel(rootDir, componentDir);

            componentDir.Delete(true);
            displayComponentModel.Keep = false;

            displayComponentModel.Remove();

            Assert.That(rootDir.Exists, Is.True);
        }
Пример #12
0
        private void ScrubOutAllTestData()
        {
            // note you may want to comment this out to see what the hell is going on

            // get rid of any file that we created
            FileSystemAwareFileUtilities fileUtils = new FileSystemAwareFileUtilities(new DeviceManager(), new StreamHelper(), new FileSystemAwareFileInfoProvider(new DeviceManager()));

            if (fileUtils.FileExists(GetDestinationPath()))
            {
                fileUtils.FileDelete(GetDestinationPath());
            }

            // get rid of any folders we created
            FileSystemAwareDirectoryInfoProvider dirInfoProvider = new FileSystemAwareDirectoryInfoProvider(new DeviceManager());
            IDirectoryInfo info = dirInfoProvider.GetDirectoryInfo(GetRootFolder());

            info.Delete();
        }
Пример #13
0
        private void DeleteFolderInRoot()
        {
            string folder = GetRootFolder();

            DisplayMessage(string.Format("Deleteing {0}", folder));

            FileSystemAwareDirectoryInfoProvider dirInfoProvider = new FileSystemAwareDirectoryInfoProvider(new DeviceManager());

            IDirectoryInfo info = dirInfoProvider.GetDirectoryInfo(folder);

            info.Delete();

            if (!info.Exists)
            {
                DisplayMessage(string.Format("{0} Deleted OK", info.FullName));
            }
            else
            {
                DisplayMessage(string.Format("{0} Failed to delete", info.FullName), DisplayLevel.Error);
            }
        }
Пример #14
0
        /// <summary>
        /// purge a folder, removing any files that were automatically generated first
        /// </summary>
        /// <param name="folder">folder to delete</param>
        public void PurgeFolder(IDirectoryInfo folder)
        {
            IFileInfo[] files;
            try
            {
                files = folder.GetFiles("*.*");
            }
            catch (DirectoryNotFoundException)
            {
                // if the folder is not there then there is nothing to do
                return;
            }

            foreach (IFileInfo file in files)
            {
                if (_filesThatCanBeAutomaticallyDeleted.Contains(file.Name.ToLower(CultureInfo.InvariantCulture)))
                {
                    _fileUtilities.FileDelete(file.FullName);
                }
            }
            folder.Delete();
        }
        private void When_changing_directory_existence_it_must_not_refresh_automatically()
        {
            // Arrange
            const string path = @"c:\some\folder";

            IFileSystem fileSystem = new FakeFileSystemBuilder()
                                     .IncludingDirectory(path)
                                     .Build();

            IDirectoryInfo dirInfo = fileSystem.ConstructDirectoryInfo(path);

            bool beforeFound = dirInfo.Exists;

            // Act
            dirInfo.Delete();

            // Assert
            bool afterFound = dirInfo.Exists;

            beforeFound.Should().BeTrue();
            afterFound.Should().BeTrue();
        }
        private void When_deleting_directory_it_must_update_cache_on_refresh()
        {
            // Arrange
            const string path = @"c:\some\folder";

            IFileSystem fileSystem = new FakeFileSystemBuilder()
                                     .IncludingDirectory(path)
                                     .Build();

            IDirectoryInfo dirInfo = fileSystem.ConstructDirectoryInfo(path);

            bool beforeFound = dirInfo.Exists;

            dirInfo.Delete();

            // Act
            dirInfo.Refresh();

            // Assert
            bool afterFound = dirInfo.Exists;

            beforeFound.Should().BeTrue();
            afterFound.Should().BeFalse();
        }
Пример #17
0
 public void TearDown()
 {
     SteamClient.Shutdown();
     _steamAppIdFile.Delete();
     _itemFolder.Delete(true);
 }
 public void Delete()
 {
     _info.Delete();
 }
Пример #19
0
 ///// <summary>
 ///// Deletes the subdirectories of the file if they are empty.
 ///// </summary>
 ///// <param name="file">
 ///// The file to check.
 ///// </param>
 //private void DeleteEmptySubdirectories(FileResult file)
 //{
 //    // If no files exist in the directory
 //    if (file.InputFile.Directory != null && !file.InputFile.Directory.GetFiles().Any()
 //        && !file.InputFile.Directory.GetDirectories().Any())
 //    {
 //        // If this isn't the source directory
 //        if (
 //            !file.InputFile.Directory.FullName.TrimEnd(Path.DirectorySeparatorChar).Equals(
 //                this.settings.SourceDirectory.TrimEnd(Path.DirectorySeparatorChar)))
 //        {
 //            file.InputFile.Directory.Delete(true);
 //            Logger.OnLogMessage(this, "Delete directory: {0}", LogType.Info, file.InputFile.DirectoryName.Truncate());
 //        }
 //    }
 //}
 /// <summary>
 /// Deletes the Empty source folder after copy
 /// </summary>
 /// <param name="directory">Directory to delete</param>
 private void DeleteEmptySubdirectories(IDirectoryInfo directory)
 {
     if(directory != null && !directory.GetFiles().Where(file => this.settings.FileExtensions.Contains(file.Extension)).Any())
     {
         if (!directory.FullName.ToLower().Equals(this.settings.DefaultDestinationDirectory))
         {
             directory.Delete(true);
             Logger.OnLogMessage(this, "Delete directory: {0}", LogType.Info, directory.FullName.Truncate());
         }
     }
 }
 public void Delete() => _info.Delete();