protected void SetupMockControlFileFor2Podcasts(DiagnosticOutputLevel level = DiagnosticOutputLevel.None)
        {
            podcast1Mocker = new PodcastInfoMocker()
                             .ApplyFolder(PODCAST_FOLDER_1);
            podcast2Mocker = new PodcastInfoMocker()
                             .ApplyFolder(PODCAST_FOLDER_2);

            var podcasts = new List <IPodcastInfo>(2)
            {
                podcast1Mocker.GetMockedPodcastInfo(),
                podcast2Mocker.GetMockedPodcastInfo()
            };

            MockControlFile = new ControlFileMocker()
                              .ApplySourceRoot(SOURCE_ROOT)
                              .ApplyRetryWaitInSeconds(RETRY_TIME)
                              .ApplyDiagnosticRetainTemporaryFiles(DIAGS)
                              .ApplyMaximumNumberOfConcurrentDownloads(MAX_DOWNLOADS)
                              .ApplyFreeSpaceToLeaveOnDownload(FREE_DISK_SPACE_MB - 1)
                              .ApplyDiagnosticOutput(level)
                              .ApplyPodcasts(podcasts)
                              .GetMockedControlFile();

            A.CallTo(() => MockApplicationControlFileProvider.GetApplicationConfiguration()).Returns(MockControlFile);
        }
示例#2
0
 public void ReplaceApplicationConfiguration(IReadWriteControlFile file)
 {
     Logger.Debug(() => $"ApplicationControlFileProvider:ReplaceApplicationConfiguration");
     lock (SyncLock)
     {
         ControlFile = null;
         file.SaveToFile(GetApplicationControlFilePath());
         ControlFile = file;
     }
 }
示例#3
0
        private void ExecuteOpenFileCommand(object parameter)
        {
            var selectedFile = _browseForFileService.BrowseForFileToOpen("Control Files|*.xml");

            if (selectedFile != null)
            {
                _controlFile = _controlFileFactory.OpenControlFile(selectedFile);

                Podcasts = new ObservableCollection <PodcastViewModel>(
                    _controlFile.GetPodcasts().Select(p => new PodcastViewModel(p)));
            }
        }
        protected void SetupMockControlFileFor1Podcast()
        {
            var podcastMocker = new PodcastInfoMocker()
                                .ApplyFolder("folder1");

            MockControlFile = new ControlFileMocker()
                              .ApplySourceRoot("/sdcard/sourceroot")
                              .ApplyPlaylistFormat(PlaylistFormat.M3U)
                              .ApplyPodcasts(podcastMocker.GetMockedPodcastInfoAsList())
                              .GetMockedControlFile();

            A.CallTo(() => MockApplicationControlFileProvider.GetApplicationConfiguration()).Returns(MockControlFile);
        }
示例#5
0
        protected void SetupMockControlFileFor2Podcasts(DiagnosticOutputLevel level = DiagnosticOutputLevel.None)
        {
            podcast1Mocker = new PodcastInfoMocker()
                             .ApplyFolder(PODCAST_FOLDER_1);
            podcast2Mocker = new PodcastInfoMocker()
                             .ApplyFolder(PODCAST_FOLDER_2);

            var podcasts = new List <IPodcastInfo>(2)
            {
                podcast1Mocker.GetMockedPodcastInfo(),
                podcast2Mocker.GetMockedPodcastInfo()
            };

            MockControlFile = new ControlFileMocker()
                              .ApplySourceRoot(SOURCE_ROOT)
                              .ApplyPodcasts(podcasts)
                              .GetMockedControlFile();

            A.CallTo(() => MockApplicationControlFileProvider.GetApplicationConfiguration()).Returns(MockControlFile);
        }
        protected override void GivenThat()
        {
            base.GivenThat();

            ControlFile = GenerateMock <IReadWriteControlFile>();

            ApplicationService     = GenerateMock <IApplicationService>();
            BrowseForFileService   = GenerateMock <IBrowseForFileService>();
            DialogService          = GenerateMock <IDialogService>();
            ControlFileFactory     = GenerateMock <IControlFileFactory>();
            PodcastFactory         = GenerateMock <IPodcastFactory>();
            ClipboardService       = GenerateMock <IClipboardService>();
            DataObjectUriExtractor = GenerateMock <IDataObjectUriExtractor>();

            ViewModel = new ConfigurePodcastsViewModel(
                ApplicationService,
                BrowseForFileService,
                DialogService,
                ControlFileFactory,
                PodcastFactory,
                ClipboardService,
                DataObjectUriExtractor);
        }
示例#7
0
 public IReadWriteControlFile GetApplicationConfiguration()
 {
     lock (SyncLock)
     {
         if (ControlFile != null)
         {
             return(ControlFile);
         }
         try
         {
             var filename = GetApplicationControlFilePath();
             Logger.Debug(() => $"ApplicationControlFileProvider:GetApplicationConfiguration loading {filename}");
             if (FileSystemHelper.Exists(filename))
             {
                 Logger.Debug(() => $"ApplicationControlFileProvider:GetApplicationConfiguration exists {filename}");
                 ControlFile = ControlFileFactory.OpenControlFile(filename);
             }
         } catch (Exception ex)
         {
             Logger.LogException(() => $"ApplicationControlFileProvider:GetApplicationConfiguration", ex);
         }
     }
     return(ControlFile);
 }