public MuTestOptions Build() { var muTestOptions = new MuTestOptions { TestSolution = GetOption(TestSolution.Value(), CliOptions.TestSolution), SourceClass = GetOption(SourceClass.Value(), CliOptions.SourceClass), SourceHeader = GetOption(SourceHeader.Value(), CliOptions.SourceHeader), TestProject = GetOption(TestProject.Value(), CliOptions.TestProject), TestClass = GetOption(TestClass.Value(), CliOptions.TestClass), EnableDiagnostics = GetOption(Diagnostics.Value(), CliOptions.EnableDiagnostics), ConcurrentTestRunners = GetOption(Parallel.Value(), CliOptions.Parallel), MutantsPerLine = GetOption(MutantsPerLine.Value(), CliOptions.MutantsPerLine), SurvivedThreshold = GetOption(SurvivedThreshold.Value(), CliOptions.SurvivedThreshold), KilledThreshold = GetOption(KilledThreshold.Value(), CliOptions.KilledThreshold), InIsolation = GetOption(InIsolation.Value(), CliOptions.InIsolation), DisableBuildOptimization = GetOption(DisableBuildOptimization.Value(), CliOptions.DisableBuildOptimization), IncludeBuildEvents = GetOption(IncludeBuildEvents.Value(), CliOptions.IncludeBuildEvents), OutputPath = GetOption(OutputPath.Value(), CliOptions.OutputPath), Configuration = GetOption(Configuration.Value(), CliOptions.BuildConfiguration), Platform = GetOption(Platform.Value(), CliOptions.Platform), SpecificLines = GetOption(SpecificLines.Value(), CliOptions.SpecificLineRange) }; muTestOptions.ValidateOptions(); return(muTestOptions); }