Exemple #1
0
        /// <summary>
        /// remove the files that are not specified in the list of files to keep
        /// </summary>
        /// <param name="filesToKeep">the files to be kept</param>
        /// <param name="folderToRemoveFrom">folder to remove files from</param>
        /// <param name="pattern">file patter to look for eg. *.mp3</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 RemoveUnwantedFiles(IEnumerable <IFileInfo> filesToKeep, string folderToRemoveFrom, string pattern, bool whatIf)
        {
            var removeDirectory = DirectoryInfoProvider.GetDirectoryInfo(folderToRemoveFrom);

            if (!removeDirectory.Exists)
            {
                return;
            }

            var filesInDirectory = removeDirectory.GetFiles(pattern);

            foreach (var file in filesInDirectory)
            {
                var thisFile = file;
                if (!filesToKeep.Any(f => f.Name == thisFile.Name))
                {
                    //we cannot find the file that is in the destination in the source
                    OnStatusUpdate(string.Format(CultureInfo.InvariantCulture, "Removing: {0}", thisFile.FullName));
                    if (!whatIf)
                    {
                        FileUtilities.FileDelete(thisFile.FullName);
                    }
                }
            }
        }
Exemple #2
0
        protected override void GivenThat()
        {
            base.GivenThat();

            FileUtilities         = GenerateMock <IFileUtilities>();
            DirectoryInfoProvider = GenerateMock <IDirectoryInfoProvider>();
            DirectoryInfo         = GenerateMock <IDirectoryInfo>();

            FilesInDirectory = new IFileInfo[]
            {
                GenerateMock <IFileInfo>()
            };
            FilesInDirectory[0].Stub(f => f.FullName).Return(@"c:\a\b\c\1.mp3");
            FilesInDirectory[0].Stub(f => f.Name).Return(@"1.mp3");

            FoldersInDirectory = new IDirectoryInfo[]
            {
                GenerateMock <IDirectoryInfo>()
            };
            FoldersInDirectory[0].Stub(f => f.FullName).Return(@"c:\a\b\c\d");

            DirectoryInfo.Stub(di => di.Exists).Return(true);

            DirectoryInfoProvider.Stub(d => d.GetDirectoryInfo(null))
            .IgnoreArguments()
            .Return(DirectoryInfo);

            StatusUpdates = new List <StatusUpdateEventArgs>();

            FolderRemover = new UnwantedFolderRemover(DirectoryInfoProvider, FileUtilities);
            FolderRemover.StatusUpdate += FileRemoverStatusUpdate;
        }
Exemple #3
0
        protected override void GivenThat()
        {
            base.GivenThat();

            FileSorter            = GenerateMock <ISorter>();
            DirectoryInfoProvider = GenerateMock <IDirectoryInfoProvider>();
            DirectoryInfo         = GenerateMock <IDirectoryInfo>();

            FilesInDirectory = new IFileInfo[]
            {
                GenerateMock <IFileInfo>(),
                GenerateMock <IFileInfo>(),
                GenerateMock <IFileInfo>()
            };

            DirectoryInfo.Stub(d => d.GetFiles(null))
            .IgnoreArguments()
            .Return(FilesInDirectory);

            DirectoryInfoProvider.Stub(d => d.GetDirectoryInfo(null))
            .IgnoreArguments()
            .Return(DirectoryInfo);

            FileSorter.Stub(finder => finder.Sort(FilesInDirectory, PodcastFileSortField.FileName, true)).Return(FilesInDirectory);

            FileFinder = new Finder(FileSorter, DirectoryInfoProvider);
        }
Exemple #4
0
 protected override void When()
 {
     try
     {
         DirectoryInfoProvider.GetDirectoryInfo(@"mtp:\test device\a\b\c");
     }
     catch (Exception exception)
     {
         ThrownException = exception;
     }
 }
 public void ItShouldGetTheDirectoryInfoFromTheProvider()
 {
     DirectoryInfoProvider.AssertWasCalled(d => d.GetDirectoryInfo(@"c:\blah"));
 }
 protected override void When()
 {
     DirectoryInfo = DirectoryInfoProvider.GetDirectoryInfo(@"mtp:\test device\a\b\c");
 }