static async Task <int> Main(string[] args) { return(await Parser.Default.ParseArguments(args, typeof(RunPatcherPipelineInstructions)) .MapResult( async(RunPatcherPipelineInstructions settings) => { try { // Locate data folder if (string.IsNullOrWhiteSpace(settings.DataFolderPath)) { settings.DataFolderPath = settings.GameRelease.ToWjGame().MetaData().GameLocation().ToString(); } await RunPatcherPipeline.Run(settings, new ConsoleReporter()); } catch (Exception ex) { System.Console.Error.WriteLine(ex); return -1; } return 0; }, async _ => { return -1; })); }
public async Task NullPersistenceModeFallsBackToNone( CancellationToken cancel, RunPatcherPipeline sut) { sut.Instructions.PersistenceMode = null; await sut.Run(cancel); await sut.ExecuteRun.Received(1).Run( Arg.Any <IGroupRun[]>(), Arg.Any <CancellationToken>(), Arg.Any <DirectoryPath>(), Arg.Any <RunParameters>(), Arg.Any <FilePath?>()); }
public async Task PassesGetGroupRunnersToRun( IGroupRun[] groupRuns, CancellationToken cancel, RunPatcherPipeline sut) { sut.GetGroupRunners.Get(cancel).ReturnsForAnyArgs(groupRuns); await sut.Run(cancel); await sut.ExecuteRun.Received(1).Run( groupRuns, Arg.Any <CancellationToken>(), Arg.Any <DirectoryPath>(), Arg.Any <RunParameters>(), Arg.Any <FilePath?>()); }
public async Task PassesTypicalSettings( CancellationToken cancel, RunPatcherPipeline sut) { sut.Instructions.PersistenceMode = PersistenceMode.None; await sut.Run(cancel); await sut.ExecuteRun.Received(1).Run( Arg.Any <IGroupRun[]>(), Arg.Any <CancellationToken>(), outputDir: sut.Instructions.OutputDirectory, runParameters: new RunParameters( sut.ProfileSettings.TargetLanguage, sut.ProfileSettings.Localize, sut.Instructions.PersistenceMode.Value, sut.Instructions.PersistencePath), sourcePath: sut.Instructions.SourcePath); }