/// <summary> /// Runs the rename operation. /// </summary> /// <returns>A task that represents the rename operation.</returns> /// <param name="renameOption">Parsed rename options.</param> public Task RunRenameAsync(RenameOptions renameOption) { if (renameOption == null) throw new ArgumentNullException("renameOption"); LogHelper.InitializeLogging(renameOption); Log.T("Processing 'rename' operation."); renameOption.FilesOrDirectories = _optionsUtils.EnsureFilesOrDirectoriesValues(renameOption); return _renameOperation.RenameAsync(renameOption.FilesOrDirectories, renameOption.Recursive, renameOption.Using); }
public void RunRenameAsync_OptionsOk_CheckEnsureFilesOrDirectoriesValuesCalled() { // Arrange var options = new RenameOptions() { FilesOrDirectories = new[] { "SomeVerb", @"C:\Temp" }, Recursive = true, Using = RenameUsing.DateTaken, }; var expected = new List<string>() { "SomeVerb", @"C:\Temp" }; _optionUtils.EnsureFilesOrDirectoriesValues(options).Returns(expected); // Act _target.RunRenameAsync(options); // Assert _optionUtils.Received(1).EnsureFilesOrDirectoriesValues(options); CollectionAssert.AreEquivalent(expected, options.FilesOrDirectories); }
public void RunRenameAsync_OptionsOk_CheckRunRenameAsyncCalled() { // Arrange var options = new RenameOptions() { FilesOrDirectories = new[] { "SomeVerb", @"C:\Temp" }, Recursive = true, Using = RenameUsing.DateTaken, }; var filesOrDirectories = new List<string>() { "SomeVerb", @"C:\Temp" }; _optionUtils.EnsureFilesOrDirectoriesValues(options).Returns(filesOrDirectories); var expectedTask = Task.FromResult(0); _renameOperation.RenameAsync(filesOrDirectories, options.Recursive, options.Using).Returns(expectedTask); // Act var task = _target.RunRenameAsync(options); // Assert _renameOperation.Received(1).RenameAsync(filesOrDirectories, options.Recursive, options.Using); Assert.AreSame(expectedTask, task); }