public ProcessDownloads(
     IGetDownloadTokenFolderName getDownloadTokenFolderName,
     IPerformAutomaticStudyDownload performAutomaticStudyDownload,
     IGetAvailableOutputFolder getAvailableOutputFolder,
     IPostProcessStudyDownload postProcessStudyDownload,
     ILogger <ProcessDownloads> logger)
 {
     this.getAvailableOutputFolder = getAvailableOutputFolder;
     this.postProcessStudyDownload = postProcessStudyDownload;
     this.logger = logger;
     this.getDownloadTokenFolderName    = getDownloadTokenFolderName;
     this.performAutomaticStudyDownload = performAutomaticStudyDownload;
 }
        public ProcessDownloadsTests()
        {
            this.getDownloadTokenFolderName    = Substitute.For <IGetDownloadTokenFolderName>();
            this.performAutomaticStudyDownload = Substitute.For <IPerformAutomaticStudyDownload>();
            this.getAvailableOutputFolder      = Substitute.For <IGetAvailableOutputFolder>();
            this.postProcessStudyDownload      = Substitute.For <IPostProcessStudyDownload>();
            this.logger = Substitute.For <ILogger <ProcessDownloads> >();

            this.target = new(
                this.getDownloadTokenFolderName,
                this.performAutomaticStudyDownload,
                this.getAvailableOutputFolder,
                this.postProcessStudyDownload,
                this.logger);
        }