示例#1
0
        public void PurgeAllItems_DeletesItems()
        {
            // arrange
            SetupMockControlFileFor2Podcasts();
            var dir = SetupMockPurgerWithRealItems();

            ViewModel.Initialise();
            ViewModel.FindItemsToDelete();

            // act
            ViewModel.PurgeAllItems();

            // assert
            A.CallTo(() => MockFileUtilities.FileDelete(FILE_PATH)).MustHaveHappened(1, Times.Exactly);
            A.CallTo(() => MockEpisodePurger.PurgeFolder(dir)).MustHaveHappened(1, Times.Exactly);
        }
示例#2
0
        public void PurgeAllItems_RespectsSelectionDir()
        {
            // arrange
            SetupMockControlFileFor2Podcasts();
            var dir = SetupMockPurgerWithRealItems();

            ViewModel.Initialise();
            ViewModel.FindItemsToDelete();
            ObservedResults.LastPurgeItems[1].Selected = false;

            // act
            ViewModel.PurgeAllItems();

            // assert
            A.CallTo(() => MockFileUtilities.FileDelete(FILE_PATH)).MustHaveHappened(1, Times.Exactly);
            A.CallTo(() => MockEpisodePurger.PurgeFolder(A <IDirectoryInfo> .Ignored)).MustNotHaveHappened();
        }
示例#3
0
        private IDirectoryInfo SetupMockPurgerWithRealItems()
        {
            SystemFileInfoProvider fileProvider = new SystemFileInfoProvider();

            A.CallTo(() => MockEpisodePurger.FindEpisodesToPurge(SOURCE_ROOT, podcast1Mocker.GetMockedPodcastInfo()))
            .Returns(
                new List <IFileInfo>()
            {
                fileProvider.GetFileInfo(FILE_PATH)
            }
                );
            SystemDirectoryInfoProvider dirProvider = new SystemDirectoryInfoProvider();
            var dir = dirProvider.GetDirectoryInfo(DIR_PATH);

            A.CallTo(() => MockEpisodePurger.FindEmptyFoldersToDelete(SOURCE_ROOT, podcast1Mocker.GetMockedPodcastInfo(), A <IList <IFileInfo> > .Ignored))
            .Returns(
                new List <IDirectoryInfo>()
            {
                dir
            }
                );
            return(dir);
        }