public string GenerateUniqueFileName(AppFile file, IUniqueCharsGenerator generator, UniqueCharsPosition position) { if (file == null) { throw new ArgumentNullException("file"); } if (generator == null) { throw new ArgumentNullException("generator"); } string uniqueID = generator.Generate(); StringBuilder sb = new StringBuilder(); if (position == UniqueCharsPosition.Prefix) { sb.AppendFormat("{0}_", uniqueID); } sb.AppendFormat("{0}", file.FileNameWithoutExtension); if (position == UniqueCharsPosition.Suffix) { sb.AppendFormat("_{0}", uniqueID); } sb.AppendFormat("{0}", file.FileExtension); return sb.ToString(); }
public void Run_SupplyFiveFilesAndFirstFileAlreadyExistsAndItShouldHaveUniqueCharsSequenceAdded_FirstFileHasUniqueCharsSequence(UniqueCharsPosition uniqueCharsPosition, bool onDuplicateAddPrefix, bool onDuplicateAddPostfix) { // arrange List <AppFile> filesToCopy = InitializeFiles(); AppFile existingFile = filesToCopy[0]; fileSystemMock.Setup(s => s.FileExists(It.IsAny <string>())).Returns(true); fileHelperMock.Setup(s => s.GenerateUniqueFileName(It.IsAny <AppFile>(), It.IsAny <IUniqueCharsGenerator>(), It.IsAny <UniqueCharsPosition>())); settingsMock.Setup(s => s.FilesToCopy).Returns(filesToCopy); settingsMock.SetupGet(s => s.OnDuplicateAddPrefix).Returns(onDuplicateAddPrefix); settingsMock.SetupGet(s => s.OnDuplicateAddSuffix).Returns(onDuplicateAddPostfix); settingsMock.SetupGet(s => s.CharsPositionOnDuplicate).Returns(uniqueCharsPosition); // act _worker.Run(_parameters); _backgroundWorkerMock.Raise(x => { x.OnDoWork += null; }, null, new System.ComponentModel.DoWorkEventArgs(null)); // assert fileHelperMock.Verify(s => s.GenerateUniqueFileName(existingFile, generatorMock.Object, uniqueCharsPosition), Times.Once()); }
public void GenerateUniqueFileName_SupplyFileAndGeneratorAndPosition_ReturnsFileNameWithExtensionWithProperlyPositionedUniqueString(UniqueCharsPosition position, string expectedResult) { // arrange AppFile file = new AppFile(); file.FileNameFull = "TestFileName.extension"; file.FileNameWithoutExtension = "TestFileName"; file.FileExtension = ".extension"; Mock <IUniqueCharsGenerator> generatorMock = new Mock <IUniqueCharsGenerator>(); generatorMock.Setup(s => s.Generate()).Returns("UniqueCharsSequence"); FileHelper fileHelper = new FileHelper(); // act string result = fileHelper.GenerateUniqueFileName(file, generatorMock.Object, position); //assert Assert.AreEqual(expectedResult, result); }
public void GenerateUniqueFileName_SupplyFileAndGeneratorAndPosition_ReturnsFileNameWithExtensionWithProperlyPositionedUniqueString(UniqueCharsPosition position, string expectedResult) { // arrange AppFile file = new AppFile(); file.FileNameFull = "TestFileName.extension"; file.FileNameWithoutExtension = "TestFileName"; file.FileExtension = ".extension"; Mock<IUniqueCharsGenerator> generatorMock = new Mock<IUniqueCharsGenerator>(); generatorMock.Setup(s => s.Generate()).Returns("UniqueCharsSequence"); FileHelper fileHelper = new FileHelper(); // act string result = fileHelper.GenerateUniqueFileName(file, generatorMock.Object, position); //assert Assert.AreEqual(expectedResult, result); }
public string GenerateUniqueFileName(AppFile file, IUniqueCharsGenerator generator, UniqueCharsPosition position) { if (file == null) { throw new ArgumentNullException("file"); } if (generator == null) { throw new ArgumentNullException("generator"); } string uniqueID = generator.Generate(); StringBuilder sb = new StringBuilder(); if (position == UniqueCharsPosition.Prefix) { sb.AppendFormat("{0}_", uniqueID); } sb.AppendFormat("{0}", file.FileNameWithoutExtension); if (position == UniqueCharsPosition.Suffix) { sb.AppendFormat("_{0}", uniqueID); } sb.AppendFormat("{0}", file.FileExtension); return(sb.ToString()); }
public void Run_SupplyFiveFilesAndFirstFileAlreadyExistsAndItShouldHaveUniqueCharsSequenceAdded_FirstFileHasUniqueCharsSequence(UniqueCharsPosition uniqueCharsPosition, bool onDuplicateAddPrefix, bool onDuplicateAddPostfix) { // arrange List<AppFile> filesToCopy = InitializeFiles(); AppFile existingFile = filesToCopy[0]; fileSystemMock.Setup(s => s.FileExists(It.IsAny<string>())).Returns(true); fileHelperMock.Setup(s => s.GenerateUniqueFileName(It.IsAny<AppFile>(), It.IsAny<IUniqueCharsGenerator>(), It.IsAny<UniqueCharsPosition>())); settingsMock.Setup(s => s.FilesToCopy).Returns(filesToCopy); settingsMock.SetupGet(s => s.OnDuplicateAddPrefix).Returns(onDuplicateAddPrefix); settingsMock.SetupGet(s => s.OnDuplicateAddSuffix).Returns(onDuplicateAddPostfix); settingsMock.SetupGet(s => s.CharsPositionOnDuplicate).Returns(uniqueCharsPosition); // act _worker.Run(_parameters); _backgroundWorkerMock.Raise(x => { x.OnDoWork += null; }, null, new System.ComponentModel.DoWorkEventArgs(null)); // assert fileHelperMock.Verify(s => s.GenerateUniqueFileName(existingFile, generatorMock.Object, uniqueCharsPosition), Times.Once()); }