private static void TestToolAdd() { ImmediateWindow immediateWindow = ShowDialog <ImmediateWindow>(SkylineWindow.ShowImmediateWindow); const string exePath = "example.exe"; //Not L10N RunUI(() => { immediateWindow.Clear(); int countStart = Settings.Default.ToolList.Count; const string addToolCommand = "--tool-add=ImToolAdded --tool-command=" + exePath; //Not L10N immediateWindow.WriteLine(addToolCommand); immediateWindow.RunLine(immediateWindow.LineCount - 1); AssertEx.AreComparableStrings(Resources.CommandLine_ImportTool__0__was_added_to_the_Tools_Menu_, immediateWindow.TextContent, 1); //Not L10N will be when command line stuff is localized. SkylineWindow.PopulateToolsMenu(); Assert.AreEqual("ImToolAdded", SkylineWindow.GetToolText(countStart)); immediateWindow.Clear(); // Write the title of the tool and then run it from the immediate window. immediateWindow.WriteLine("ImToolAdded"); }); RunDlg <MessageDlg>(() => immediateWindow.RunLine(0), messageDlg => { AssertEx.Contains(messageDlg.Message, Resources.ToolDescription_RunTool_Please_check_the_command_location_is_correct_for_this_tool_); messageDlg.OkDialog(); }); RunUI(immediateWindow.Dispose); }