public void SingleFileToRenameWtComplexNavigation() { //Set constants const string installPath = @"C:\Temp"; const string fileToRename = @"\videos\*\data\second\*\Nvidia.bk2"; //Set dependancies var settings = new GameSetting() { DisablingIntroductionActions = new List <DisableIntroductionAction>() { new DisableIntroductionAction() { Type = DisableActionTypeEnum.FileRename, InitialName = fileToRename, } } }; var gameDetectionResult = new GameDetectionResult("wat") { InstallationPath = new DirectoryInfo(installPath), Detected = true, IntroductionState = IntroductionStateEnum.Enabled }; //Set Mocks var pathPatternTranslatorMock = MockRepository.GenerateMock <IPathPatternTranslator>(); pathPatternTranslatorMock.Expect(x => x.GetPathFromPattern($"{installPath}{fileToRename}")).Return(new[] { @"C:\Temp\videos\sub1\data\second\third1\Nvidia.bk2", @"C:\Temp\videos\sub1\data\second\third2\Nvidia.bk2", @"C:\Temp\videos\sub2\data\second\third3\Nvidia.bk2", @"C:\Temp\videos\sub2\data\second\third4\Nvidia.bk2" }); var fileAndFolderRenamerMock = MockRepository.GenerateMock <IFileAndFolderRenamer>(); fileAndFolderRenamerMock.Expect(x => x.RenameFile(Arg <string> .Is.Equal(@"C:\Temp\videos\sub1\data\second\third1\Nvidia.bk2"), Arg <string> .Is.Equal($@"C:\Temp\videos\sub1\data\second\third1\Nvidia.bk2{GlobalNamesStruct.RenameSuffix}"), Arg <bool> .Is.Anything)); fileAndFolderRenamerMock.Expect(x => x.RenameFile(Arg <string> .Is.Equal(@"C:\Temp\videos\sub1\data\second\third2\Nvidia.bk2"), Arg <string> .Is.Equal($@"C:\Temp\videos\sub1\data\second\third2\Nvidia.bk2{GlobalNamesStruct.RenameSuffix}"), Arg <bool> .Is.Anything)); fileAndFolderRenamerMock.Expect(x => x.RenameFile(Arg <string> .Is.Equal(@"C:\Temp\videos\sub2\data\second\third3\Nvidia.bk2"), Arg <string> .Is.Equal($@"C:\Temp\videos\sub2\data\second\third3\Nvidia.bk2{GlobalNamesStruct.RenameSuffix}"), Arg <bool> .Is.Anything)); fileAndFolderRenamerMock.Expect(x => x.RenameFile(Arg <string> .Is.Equal(@"C:\Temp\videos\sub2\data\second\third4\Nvidia.bk2"), Arg <string> .Is.Equal($@"C:\Temp\videos\sub2\data\second\third4\Nvidia.bk2{GlobalNamesStruct.RenameSuffix}"), Arg <bool> .Is.Anything)); //Run test var businessRule = new ApplyDisableIntroAction(settings, gameDetectionResult, fileAndFolderRenamerMock, pathPatternTranslatorMock); businessRule.Execute(); //Validate pathPatternTranslatorMock.VerifyAllExpectations(); fileAndFolderRenamerMock.VerifyAllExpectations(); }
public void DisableIntro(Game targetedGame) { var disableIntro = new ApplyDisableIntroAction(targetedGame.Settings, targetedGame.DetectionResult, _fileAndFolderRenamer, _pathPatternTranslator); disableIntro.Execute(); }