コード例 #1
0
        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();
        }
コード例 #2
0
        public void DisableIntro(Game targetedGame)
        {
            var disableIntro = new ApplyDisableIntroAction(targetedGame.Settings, targetedGame.DetectionResult, _fileAndFolderRenamer, _pathPatternTranslator);

            disableIntro.Execute();
        }