protected override void GivenThat() { base.GivenThat(); var podcast1 = new PodcastInfo(ControlFile) { Folder = "pod1" }; podcast1.Pattern.Value = "*.mp3"; podcast1.MaximumNumberOfFiles.Value = 2; podcast1.AscendingSort.Value = true; podcast1.DeleteEmptyFolder.Value = true; podcast1.SortField.Value = PodcastFileSortField.FileName; var podcast2 = new PodcastInfo(ControlFile) { Folder = "AnotherPodcast" }; podcast2.Pattern.Value = "*.wma"; podcast2.MaximumNumberOfFiles.Value = 3; podcast2.AscendingSort.Value = false; podcast2.DeleteEmptyFolder.Value = false; podcast2.SortField.Value = PodcastFileSortField.CreationTime; PodcastFiles1 = new List <IFileInfo> { GenerateMock <IFileInfo>(), GenerateMock <IFileInfo>() }; PodcastFiles2 = new List <IFileInfo> { GenerateMock <IFileInfo>(), GenerateMock <IFileInfo>(), GenerateMock <IFileInfo>() }; ControlFile.Stub(c => c.GetPodcasts()) .Return(new List <PodcastInfo> { podcast1, podcast2 }); ControlFile.Stub(c => c.GetSourceRoot()) .Return(@"c:\media\blah"); ControlFile.Stub(c => c.GetDestinationRoot()) .Return(@"k:\podcasts"); ControlFile.Stub(c => c.GetFreeSpaceToLeaveOnDestination()) .Return(500); FileFinder.Stub(f => f.GetFiles(@"c:\media\blah\pod1", "*.mp3", 2, PodcastFileSortField.FileName, true)) .Return(PodcastFiles1); FileFinder.Stub(f => f.GetFiles(@"c:\media\blah\AnotherPodcast", "*.wma", 3, PodcastFileSortField.CreationTime, false)) .Return(PodcastFiles2); FileCopier.Stub(c => c.CopyFilesToTarget(null, null, null, 0, false)) .IgnoreArguments() .WhenCalled(invocation => FilesToCopy = (List <FileSyncItem>)invocation.Arguments[0]); }