示例#1
0
        /// <summary>
        ///		Delete data folder from disk, always recursive
        /// </summary>
        /// <param name="deleteUnknown">
        ///		Delete any extra, externally created files and folders found
        /// </param>
        public void Delete(bool deleteUnknown)
        {
            if (!this.IsLeafFolder)
            {
                LoadSubFolders(false);

                foreach (IDataFolder childFolder in _childDataFolders.ToArray())
                {
                    childFolder.Delete(deleteUnknown);
                    _childDataFolders.Remove(childFolder);
                }
            }
            else
            {
                try
                {
                    foreach (IRepositoryFileName file in _dataFileBrowser.Files)
                    {
                        string dataFilePath = GetDataFilePath(file);
                        _log.InfoFormat("Deleting data file {0}", dataFilePath);
                        FileProvider.Delete(dataFilePath);
                    }
                }
                catch (IOException)
                {
                    // so that next time it can be re-synced
                    UnloadFiles();
                    throw;
                }
            }

            this.DirectoryProvider.Delete(this.FullPath, deleteUnknown);
        }
示例#2
0
        public void FileSuccessfullyDeleted()
        {
            // Arrange
            string destinationFile = FileFactory.CreateTestFile();

            // Act
            var directoryProvider = new FileProvider();

            directoryProvider.Delete(destinationFile);

            // Assert
            Assert.That(File.Exists(destinationFile), Is.False);
        }