//--------------------------------------------------------------------- void UpdateStartUpProject(StartUpProjectSettings settings) { this.BasicSettingController.UpdateStartUpProject(settings); this.FilterSettingController.UpdateStartUpProject(); this.ImportExportSettingController.UpdateStartUpProject(); this.MiscellaneousSettingController.UpdateStartUpProject(); }
public void ResetToDefaultCommand() { var startUpProjectSettings = new StartUpProjectSettings { WorkingDir = "WorkingDir", CppProjects = new List <StartUpProjectSettings.CppProject>() }; var controller = CreateController(startUpProjectSettings, null); controller.UpdateStartUpProject(ProjectSelectionKind.StartUpProject); controller.BasicSettingController.OptionalWorkingDirectory = "WorkingDirectory2"; var settings = controller.GetMainSettings(); Assert.AreEqual( controller.BasicSettingController.OptionalWorkingDirectory, settings.BasicSettings.WorkingDirectory); controller.ResetToDefaultCommand.Execute(null); settings = controller.GetMainSettings(); Assert.AreEqual( startUpProjectSettings.WorkingDir, settings.BasicSettings.WorkingDirectory); }
public void CommandLineText() { string commandLine = "commandLine"; var startUpProjectSettings = new StartUpProjectSettings() { CppProjects = new List <StartUpProjectSettings.CppProject>() }; var openCppCoverageCmdLine = new Mock <IOpenCppCoverageCmdLine>(); openCppCoverageCmdLine.Setup(o => o.Build( It.IsAny <MainSettings>(), It.IsAny <string>())).Returns(commandLine); var controller = CreateController(startUpProjectSettings, openCppCoverageCmdLine.Object); Assert.IsNull(controller.CommandLineText); controller.SelectedTab = new System.Windows.Controls.TabItem(); Assert.IsNull(controller.CommandLineText); controller.SelectedTab = new System.Windows.Controls.TabItem() { Header = MainSettingController.CommandLineHeader }; Assert.AreEqual(commandLine, controller.CommandLineText); }
public void GetMainSettings() { var project = new StartUpProjectSettings.CppProject { ModulePath = "ModulePath1", SourcePaths = new List <string> { "Source1" } }; var startUpProjectSettings = new StartUpProjectSettings { CppProjects = new List <StartUpProjectSettings.CppProject> { project, project } }; var controller = CreateController(startUpProjectSettings, null); controller.UpdateStartUpProject(ProjectSelectionKind.StartUpProject); var selectableProject = controller.BasicSettingController.SelectableProjects.First(); selectableProject.IsSelected = false; var settings = controller.GetMainSettings(); Assert.AreEqual(project.ModulePath, settings.BasicSettings.ModulePaths.Single()); CollectionAssert.AreEqual( project.SourcePaths.ToList(), settings.BasicSettings.SourcePaths.ToList()); }
public void FullSaveLoad() { using (var folder = new TemporayPath()) { var settings = new StartUpProjectSettings { CppProjects = new List <StartUpProjectSettings.CppProject> { new StartUpProjectSettings.CppProject { Path = "path" } }, }; var settingsStorage = new SettingsStorage(folder.Path); var builder = new Mock <IStartUpProjectSettingsBuilder>(); var controller = CreateController(settings, null, builder, settingsStorage); controller.UpdateFields(ProjectSelectionKind.StartUpProject, true); FillController(controller); controller.SaveSettings(); var controller2 = CreateController(settings, null, builder, settingsStorage); controller2.UpdateFields(ProjectSelectionKind.StartUpProject, true); CheckRecursiveEqual(controller, controller2, c => c.BasicSettingController); CheckRecursiveEqual(controller, controller2, c => c.ImportExportSettingController); CheckRecursiveEqual(controller, controller2, c => c.MiscellaneousSettingController); CheckRecursiveEqual(controller, controller2, c => c.FilterSettingController); } }
public void BasicSaveLoad() { var settings = new StartUpProjectSettings { CppProjects = new List <StartUpProjectSettings.CppProject>(), ProjectPath = "ProjectPath", SolutionConfigurationName = "SolutionConfigurationName" }; var settingsStorage = new Mock <ISettingsStorage>(); var builder = new Mock <IStartUpProjectSettingsBuilder>(); builder.Setup(b => b.ComputeSettings(ProjectSelectionKind.SelectedProject)).Returns(settings); var controller = CreateController(settings, null, builder, settingsStorage.Object); controller.UpdateFields(ProjectSelectionKind.SelectedProject, true); controller.SaveSettings(); settingsStorage.Verify( s => s.Save( settings.ProjectPath, settings.SolutionConfigurationName, It.IsAny <UserInterfaceSettings>())); settingsStorage.Verify(s => s.TryLoad(settings.ProjectPath, settings.SolutionConfigurationName)); controller.UpdateFields(ProjectSelectionKind.SelectedProject, true); }
//--------------------------------------------------------------------- static MainSettingController CreateController( StartUpProjectSettings settings, IOpenCppCoverageCmdLine openCppCoverageCmdLine) { return(CreateController( settings, openCppCoverageCmdLine, new Mock <IStartUpProjectSettingsBuilder>(), new Mock <ISettingsStorage>().Object)); }
//--------------------------------------------------------------------- MainSettingController CreateController( StartUpProjectSettings settings, Func <MainSettings, string> buildOpenCppCoverageCmdLine) { var controller = new MainSettingController(buildOpenCppCoverageCmdLine); var builder = new Mock <IStartUpProjectSettingsBuilder>(); builder.Setup(b => b.ComputeSettings(ProjectSelectionKind.StartUpProject)).Returns(settings); controller.StartUpProjectSettingsBuilder = builder.Object; return(controller); }
//--------------------------------------------------------------------- static MainSettingController CreateController( StartUpProjectSettings settings, IOpenCppCoverageCmdLine openCppCoverageCmdLine, Mock <IStartUpProjectSettingsBuilder> builder, ISettingsStorage settingsStorage) { var controller = new MainSettingController(settingsStorage, openCppCoverageCmdLine, builder.Object, null); builder.Setup(b => b.ComputeSettings(ProjectSelectionKind.StartUpProject)).Returns(settings); return(controller); }
//--------------------------------------------------------------------- public void UpdateStartUpProject(StartUpProjectSettings settings) { this.SelectableProjects = settings.CppProjects.Select( project => new SelectableProject(project)).ToList(); this.BasicSettings.ProgramToRun = settings.Command; if (String.IsNullOrEmpty(settings.WorkingDir)) { this.HasWorkingDirectory = false; } else { this.HasWorkingDirectory = true; this.BasicSettings.OptionalWorkingDirectory = settings.WorkingDir; } this.BasicSettings.Arguments = settings.Arguments; this.BasicSettings.OptimizedBuild = settings.IsOptimizedBuildEnabled; this.EnvironmentVariables = settings.EnvironmentVariables; if (this.EnvironmentVariables == null) { this.EnvironmentVariables = new List <KeyValuePair <string, string> >(); } if (String.IsNullOrEmpty(settings.ProjectName) || String.IsNullOrEmpty(settings.SolutionConfigurationName)) { this.CurrentProject = None; this.CurrentConfiguration = None; this.IsCompileBeforeRunningEnabled = false; this.CompileBeforeRunningToolTip = "Nothing to build (No startup project set)."; this.BasicSettings.CompileBeforeRunning = false; this.IsOptimizedBuildCheckBoxEnabled = true; this.OptimizedBuildToolTip = null; } else { this.CurrentProject = settings.ProjectName; this.CurrentConfiguration = settings.SolutionConfigurationName; this.IsCompileBeforeRunningEnabled = true; this.CompileBeforeRunningToolTip = null; this.BasicSettings.CompileBeforeRunning = true; this.IsOptimizedBuildCheckBoxEnabled = false; this.OptimizedBuildToolTip = "This value is set according to your optimization setting."; } }
public void CommandLineText() { TestHelper.RunInUIhread(() => { string commandLine = "commandLine"; var startUpProjectSettings = new StartUpProjectSettings() { CppProjects = new List <StartUpProjectSettings.CppProject>() }; var controller = CreateController(startUpProjectSettings, settings => { return(commandLine); }); Assert.IsNull(controller.CommandLineText); controller.SelectedTab = new System.Windows.Controls.TabItem(); Assert.IsNull(controller.CommandLineText); controller.SelectedTab = new System.Windows.Controls.TabItem() { Header = MainSettingController.CommandLineHeader }; Assert.AreEqual(commandLine, controller.CommandLineText); }); }