public static IEnumerable <TaskResultViewModel> CreateViewModelsFromResults(IEnumerable <FileSystemTaskResult> results)
        {
            if (results == null)
            {
                throw new ArgumentNullException("results");
            }

            var viewModels = new List <TaskResultViewModel>();

            foreach (FileSystemTaskResult result in results) // Note: Visitor бы
            {
                FolderTaskResult resultAsFolderResult = result as FolderTaskResult;

                if (resultAsFolderResult != null)
                {
                    viewModels.Add(TaskResultViewModel.FromFolderTaskResult(resultAsFolderResult));
                }
                else
                {
                    FileTaskResult resultAsFileResult = result as FileTaskResult;

                    if (resultAsFileResult != null)
                    {
                        viewModels.Add(TaskResultViewModel.FromFileTaskResult(resultAsFileResult));
                    }
                    else
                    {
                        throw new NotSupportedException();
                    }
                }
            }

            return(viewModels);
        }
Beispiel #2
0
        public static TaskResultViewModel FromFileTaskResult(FileTaskResult folderTaskResult)
        {
            if (folderTaskResult == null)
            {
                throw new ArgumentNullException("folderTaskResult");
            }

            return(new TaskResultViewModel(
                       folderTaskResult.SourceFile.FullPath,
                       folderTaskResult.ExecutedSuccessfully ? folderTaskResult.DestinationFile.FullPath : String.Empty,
                       folderTaskResult.ExecutedSuccessfully,
                       folderTaskResult.Error));
        }
Beispiel #3
0
        public void FileIsNotDeletedIfDeletedAfterMergeIsNotSet()
        {
            // Initialise the test
            var fileSystem = this.mocks.Create <IFileSystem>(MockBehavior.Strict).Object;
            var file       = new FileInfo(this.filename);

            Mock.Get(fileSystem).Setup(_fileSystem => _fileSystem.FileExists(file.FullName)).Returns(true);

            // Run the test
            var result = new FileTaskResult(file, false, fileSystem);

            result.CleanUp();

            // Check the results
            this.mocks.VerifyAll();
        }
        public void FileIsNotDeletedIfDeletedAfterMergeIsNotSet()
        {
            // Initialise the test
            var fileSystem = this.mocks.StrictMock <IFileSystem>();
            var file       = new FileInfo(this.filename);

            SetupResult.For(fileSystem.FileExists(file.FullName)).Return(true);

            // Run the test
            this.mocks.ReplayAll();
            var result = new FileTaskResult(file, false, fileSystem);

            result.CleanUp();

            // Check the results
            this.mocks.VerifyAll();
        }
        public void DeleteAfterMergeDeletesTheFile()
        {
            // Initialise the test
            var fileSystem = this.mocks.StrictMock <IFileSystem>();
            var file       = new FileInfo(this.filename);

            SetupResult.For(fileSystem.FileExists(file.FullName)).Return(true);
            Expect.Call(() =>
            {
                fileSystem.DeleteFile(file.FullName);
            });

            // Run the test
            this.mocks.ReplayAll();
            var result = new FileTaskResult(file, true, fileSystem);

            result.CleanUp();

            // Check the results
            this.mocks.VerifyAll();
        }
Beispiel #6
0
        public void ShouldReadContentsOfTempFile()
        {
            FileTaskResult result = new FileTaskResult(filename);

            Assert.AreEqual("<invalid xml>", result.Data);
        }