コード例 #1
0
        public void SingleFile_FirstAttemptToCopyFails_OnRetypeOutputFilenameGetsCalled_CancelInRetypeFilename_JobOutFilesAreEmpty()
        {
            var fileStub        = new FailingFileCopy(1);
            var outputFileMover = BuildInteractiveFileMover(fileStub);

            _job.Profile.AutoSave.Enabled = false;
            _job.Profile.OutputFormat     = OutputFormat.Pdf;

            _retypeQuery.RetypeFileName(Arg.Any <Job>()).Returns(new QueryResult <string>(false, null));

            _job.TempOutputFiles = _singleTempOutputfile;

            Assert.Throws <AbortWorkflowException>(() => outputFileMover.MoveOutputFiles(_job));

            Assert.AreEqual(1, _retypeQuery.ReceivedCalls().Count(), "RetypeOutputFilename was called more than once");
            Assert.IsEmpty(_job.OutputFiles, "Outputfiles are not empty.");
        }
コード例 #2
0
        public void OnRetry_CallsDispatcherToQuery()
        {
            var fileStub   = new FailingFileCopy(3);
            var dispatcher = Substitute.For <IDispatcher>();

            dispatcher.InvokeAsync <QueryResult <string> >(null).ReturnsForAnyArgs(x => Task.Run(x.Arg <Func <QueryResult <string> > >()));

            var outputFileMover = BuildInteractiveFileMover(fileStub, dispatcher);

            _job.Profile.AutoSave.Enabled = false;
            _job.Profile.OutputFormat     = OutputFormat.Pdf;

            _job.TempOutputFiles = _singleTempOutputfile;

            outputFileMover.MoveOutputFiles(_job);

            dispatcher.ReceivedWithAnyArgs().InvokeAsync <QueryResult <string> >(null);
        }
コード例 #3
0
        public void SingleFile_ThreeAttemptsToCopyFail_OnRetypeOutputFilenameGetsCalled_NewValueForOutputFilenameTemplateAndOutputfile()
        {
            var fileStub = new FailingFileCopy(3);

            var outputFileMover = BuildInteractiveFileMover(fileStub);

            _job.Profile.AutoSave.Enabled = false;
            _job.Profile.OutputFormat     = OutputFormat.Pdf;

            _job.TempOutputFiles = _singleTempOutputfile;

            outputFileMover.MoveOutputFiles(_job);

            Assert.AreEqual(3, _retypeQuery.ReceivedCalls().Count(), "RetypeOutputFilename was called more than once");
            Assert.AreEqual(RetypedFilename + "3.pdf", _job.OutputFilenameTemplate,
                            "OutputFilenameTemplate is not the one from RetypeOutputFilename");
            Assert.AreEqual(RetypedFilename + "3" + ".pdf", _job.OutputFiles[0],
                            "First outputfile is not the one from RetypeOutputFilename");
        }
コード例 #4
0
        public void MoveOutFiles_MultipleFilesInteractive_FirstThreeAttemptsToCopyFirstFileFail_OnRetypeOutputFilenameGetsCalledTriple_NewValueForOutputFilenameTemplateAndOutputfile()
        {
            var fileStub        = new FailingFileCopy(3);
            var outputFileMover = BuildInteractiveFileMover(fileStub);

            _job.Profile.AutoSave.Enabled = false;
            _job.Profile.OutputFormat     = OutputFormat.Png;

            _job.TempOutputFiles = _multipleTempOutputFiles;

            outputFileMover.MoveOutputFiles(_job);

            Assert.AreEqual(3, _retypeQuery.ReceivedCalls().Count(), "RetypeOutputFilename was called more than once");
            Assert.AreEqual($"{RetypedFilename}3.png", _job.OutputFilenameTemplate,
                            "OutputFilenameTemplate is not the one from RetypeOutputFilename");
            Assert.AreEqual($"{RetypedFilename}3" + "1" + ".png", _job.OutputFiles[0],
                            "First outputfile is not the one from RetypeOutputFilename");
            Assert.AreEqual($"{RetypedFilename}3" + "2" + ".png", _job.OutputFiles[1],
                            "Second outputfile is not the one from RetypeOutputFilename");
            Assert.AreEqual($"{RetypedFilename}3" + "3" + ".png", _job.OutputFiles[2],
                            "Third outputfile is not the one from RetypeOutputFilename");
        }