public WorkspaceTestGroup (Workspace ws): base (ws.Name, ws) { string storeId = ws.Name; string resultsPath = UnitTestService.GetTestResultsDirectory (ws.BaseDirectory); ResultsStore = new BinaryResultsStore (resultsPath, storeId); workspace = ws; workspace.ItemAdded += OnEntryChanged; workspace.ItemRemoved += OnEntryChanged; workspace.NameChanged += OnCombineRenamed; }
public WorkspaceTestGroup (Workspace ws): base (ws.Name, ws) { string storeId = ws.Name; string resultsPath = Path.Combine (ws.BaseDirectory, "test-results"); ResultsStore = new XmlResultsStore (resultsPath, storeId); workspace = ws; workspace.ItemAdded += OnEntryChanged; workspace.ItemRemoved += OnEntryChanged; workspace.NameChanged += OnCombineRenamed; }
public WorkspaceTestGroup (Workspace ws): base (ws.Name, ws) { string storeId = ws.Name; string resultsPath = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory (ws.BaseDirectory); ResultsStore = new XmlResultsStore (resultsPath, storeId); workspace = ws; workspace.ItemAdded += OnEntryChanged; workspace.ItemRemoved += OnEntryChanged; workspace.NameChanged += OnCombineRenamed; }
public void TestSaveWorkspace() { // Saving a workspace must save all solutions and projects it contains string dir = Util.CreateTmpDir ("TestSaveWorkspace"); Workspace ws = new Workspace (); ws.FileName = Path.Combine (dir, "workspace"); Solution sol = new Solution (); sol.FileName = Path.Combine (dir, "thesolution"); ws.Items.Add (sol); DotNetAssemblyProject p = new DotNetAssemblyProject ("C#"); p.FileName = Path.Combine (dir, "theproject"); sol.RootFolder.Items.Add (p); ws.Save (Util.GetMonitor ()); Assert.IsTrue (File.Exists (ws.FileName)); Assert.IsTrue (File.Exists (sol.FileName)); Assert.IsTrue (File.Exists (p.FileName)); }
public void AddRemoveEvents () { int itemsAddedRoot = 0; int itemsRemovedRoot = 0; int descItemsAddedRoot = 0; int descItemsRemovedRoot = 0; Workspace ws = new Workspace (); ws.DescendantItemAdded += delegate { descItemsAddedRoot++; }; ws.DescendantItemRemoved += delegate { descItemsRemovedRoot++; }; ws.ItemAdded += delegate { itemsAddedRoot++; }; ws.ItemRemoved += delegate { itemsRemovedRoot++; }; // Direct events Workspace cws1 = new Workspace (); ws.Items.Add (cws1); Assert.AreEqual (1, descItemsAddedRoot); Assert.AreEqual (1, itemsAddedRoot); ws.Items.Remove (cws1); Assert.AreEqual (1, descItemsRemovedRoot); Assert.AreEqual (1, itemsRemovedRoot); ws.Items.Add (cws1); Assert.AreEqual (2, descItemsAddedRoot); Assert.AreEqual (2, itemsAddedRoot); // Indirect events Solution sol = new Solution (); cws1.Items.Add (sol); Assert.AreEqual (3, descItemsAddedRoot); Assert.AreEqual (2, itemsAddedRoot); cws1.Items.Remove (sol); Assert.AreEqual (2, descItemsRemovedRoot); Assert.AreEqual (1, itemsRemovedRoot); }
public WorkspaceItem AddNewWorkspaceItem (Workspace parentWorkspace, string defaultItemId) { var newProjectDialog = new NewProjectDialogController (); newProjectDialog.BasePath = parentWorkspace.BaseDirectory; newProjectDialog.SelectedTemplateId = defaultItemId; newProjectDialog.ParentWorkspace = parentWorkspace; if (newProjectDialog.Show () && newProjectDialog.NewItem != null) { parentWorkspace.Items.Add ((WorkspaceItem)newProjectDialog.NewItem); Save (parentWorkspace); return (WorkspaceItem)newProjectDialog.NewItem; } return null; }
public async Task<WorkspaceItem> AddWorkspaceItem (Workspace parentWorkspace, string itemFileName) { using (ProgressMonitor monitor = IdeApp.Workbench.ProgressMonitors.GetProjectLoadProgressMonitor (true)) { WorkspaceItem it = await Services.ProjectService.ReadWorkspaceItem (monitor, itemFileName); if (it != null) { parentWorkspace.Items.Add (it); await SaveAsync ((IWorkspaceFileObject)parentWorkspace); } return it; } }
public async Task<WorkspaceItem> AddWorkspaceItem (Workspace parentWorkspace) { WorkspaceItem res = null; var dlg = new SelectFileDialog () { Action = FileChooserAction.Open, CurrentFolder = parentWorkspace.BaseDirectory, SelectMultiple = false, }; dlg.AddAllFilesFilter (); dlg.DefaultFilter = dlg.AddFilter (GettextCatalog.GetString ("Solution Files"), "*.mds", "*.sln"); if (dlg.Run ()) { try { if (WorkspaceContainsWorkspaceItem (parentWorkspace, dlg.SelectedFile)) { MessageService.ShowMessage (GettextCatalog.GetString ("The workspace already contains '{0}'.", Path.GetFileNameWithoutExtension (dlg.SelectedFile))); return res; } res = await AddWorkspaceItem (parentWorkspace, dlg.SelectedFile); } catch (Exception ex) { MessageService.ShowError (GettextCatalog.GetString ("The file '{0}' could not be loaded.", dlg.SelectedFile), ex); } } return res; }
public Task<WorkspaceItem> AddNewWorkspaceItem (Workspace parentWorkspace) { return AddNewWorkspaceItem (parentWorkspace, null); }
public void Configurations() { int configChangedEvs = 0; int configChangedEvsSub = 0; Workspace ws = new Workspace(); ws.ConfigurationsChanged += delegate { configChangedEvs++; }; Workspace cws1 = new Workspace(); cws1.ConfigurationsChanged += delegate { configChangedEvsSub++; }; ws.Items.Add(cws1); Solution sol = new Solution(); cws1.Items.Add(sol); ReadOnlyCollection <string> configs = ws.GetConfigurations(); Assert.AreEqual(0, configs.Count); configs = cws1.GetConfigurations(); Assert.AreEqual(0, configs.Count); // Add configurations configChangedEvs = configChangedEvsSub = 0; sol.AddConfiguration("c1", false); Assert.AreEqual(1, configChangedEvs); Assert.AreEqual(1, configChangedEvsSub); configs = ws.GetConfigurations(); Assert.AreEqual(1, configs.Count); Assert.AreEqual("c1", configs[0]); configs = cws1.GetConfigurations(); Assert.AreEqual(1, configs.Count); Assert.AreEqual("c1", configs[0]); configChangedEvs = configChangedEvsSub = 0; sol.AddConfiguration("c2", false); Assert.AreEqual(1, configChangedEvs); Assert.AreEqual(1, configChangedEvsSub); configs = ws.GetConfigurations(); Assert.AreEqual(2, configs.Count); Assert.AreEqual("c1", configs[0]); Assert.AreEqual("c2", configs[1]); configs = cws1.GetConfigurations(); Assert.AreEqual(2, configs.Count); Assert.AreEqual("c1", configs[0]); Assert.AreEqual("c2", configs[1]); // Add another solution Solution sol2 = new Solution(); sol2.AddConfiguration("c3", false); sol2.AddConfiguration("c4", false); configChangedEvs = configChangedEvsSub = 0; cws1.Items.Add(sol2); Assert.AreEqual(1, configChangedEvs); Assert.AreEqual(1, configChangedEvsSub); configs = ws.GetConfigurations(); Assert.AreEqual(4, configs.Count); Assert.AreEqual("c1", configs[0]); Assert.AreEqual("c2", configs[1]); Assert.AreEqual("c3", configs[2]); Assert.AreEqual("c4", configs[3]); configs = cws1.GetConfigurations(); Assert.AreEqual(4, configs.Count); Assert.AreEqual("c1", configs[0]); Assert.AreEqual("c2", configs[1]); Assert.AreEqual("c3", configs[2]); Assert.AreEqual("c4", configs[3]); // Remove solution configChangedEvs = configChangedEvsSub = 0; cws1.Items.Remove(sol2); Assert.AreEqual(1, configChangedEvs); Assert.AreEqual(1, configChangedEvsSub); configs = ws.GetConfigurations(); Assert.AreEqual(2, configs.Count); Assert.AreEqual("c1", configs[0]); Assert.AreEqual("c2", configs[1]); configs = cws1.GetConfigurations(); Assert.AreEqual(2, configs.Count); Assert.AreEqual("c1", configs[0]); Assert.AreEqual("c2", configs[1]); // Remove configuration configChangedEvs = configChangedEvsSub = 0; sol.Configurations.RemoveAt(1); Assert.AreEqual(1, configChangedEvs); Assert.AreEqual(1, configChangedEvsSub); configs = ws.GetConfigurations(); Assert.AreEqual(1, configs.Count); Assert.AreEqual("c1", configs[0]); configs = cws1.GetConfigurations(); Assert.AreEqual(1, configs.Count); Assert.AreEqual("c1", configs[0]); // Remove child workspace configChangedEvs = configChangedEvsSub = 0; ws.Items.Remove(cws1); Assert.AreEqual(1, configChangedEvs); configs = ws.GetConfigurations(); Assert.AreEqual(0, configs.Count); ws.Dispose(); }
public WorkspaceItem AddWorkspaceItem (Workspace parentWorkspace) { WorkspaceItem res = null; var dlg = new SelectFileDialog () { Action = Gtk.FileChooserAction.Open, CurrentFolder = parentWorkspace.BaseDirectory, SelectMultiple = false, }; dlg.AddAllFilesFilter (); dlg.DefaultFilter = dlg.AddFilter (GettextCatalog.GetString ("Solution Files"), "*.mds", "*.sln"); if (dlg.Run ()) { try { res = AddWorkspaceItem (parentWorkspace, dlg.SelectedFile); } catch (Exception ex) { MessageService.ShowException (ex, GettextCatalog.GetString ("The file '{0}' could not be loaded.", dlg.SelectedFile)); } } return res; }
public WorkspaceItem AddNewWorkspaceItem (Workspace parentWorkspace) { return AddNewWorkspaceItem (parentWorkspace, null); }
public void Disposing () { List<MyData> d = new List<MyData> (); for (int n=0; n<7; n++) d.Add (new MyData ()); DotNetProject it2, it3, it4; DummySolutionItem it1; Workspace ws = new Workspace (); Workspace cws = new Workspace (); ws.Items.Add (cws); Solution sol1 = new Solution (); cws.Items.Add (sol1); sol1.RootFolder.Items.Add (it1 = new DummySolutionItem ()); sol1.RootFolder.Items.Add (it2 = Services.ProjectService.CreateDotNetProject ("C#")); Solution sol2 = new Solution (); cws.Items.Add (sol2); SolutionFolder f = new SolutionFolder (); sol2.RootFolder.Items.Add (f); f.Items.Add (it3 = Services.ProjectService.CreateDotNetProject ("C#")); f.Items.Add (it4 = Services.ProjectService.CreateDotNetProject ("C#")); ws.ExtendedProperties ["data"] = d[0]; cws.ExtendedProperties ["data"] = d[1]; it1.ExtendedProperties ["data"] = d[2]; it2.ExtendedProperties ["data"] = d[3]; it3.ExtendedProperties ["data"] = d[4]; it4.ExtendedProperties ["data"] = d[5]; f.ExtendedProperties ["data"] = d[6]; ws.Dispose (); for (int n=0; n<d.Count; n++) Assert.AreEqual (1, d[n].Disposed, "dispose check " + n); }
public void ModelQueries () { DotNetProject it2, it3, it4; DummySolutionItem it1; string someFile, someId; Workspace ws = new Workspace (); Workspace cws = new Workspace (); ws.Items.Add (cws); Solution sol1 = new Solution (); cws.Items.Add (sol1); sol1.RootFolder.Items.Add (it1 = new DummySolutionItem ()); sol1.RootFolder.Items.Add (it2 = Services.ProjectService.CreateDotNetProject ("C#")); Solution sol2 = new Solution (); cws.Items.Add (sol2); SolutionFolder f = new SolutionFolder (); sol2.RootFolder.Items.Add (f); f.Items.Add (it3 = Services.ProjectService.CreateDotNetProject ("C#")); f.Items.Add (it4 = Services.ProjectService.CreateDotNetProject ("C#")); it3.Name = "it3"; it4.FileName = "/test/it4"; someFile = it4.FileName; someId = it3.ItemId; Assert.IsFalse (string.IsNullOrEmpty (someId)); Assert.AreEqual (2, sol1.Items.Count); Assert.IsTrue (sol1.Items.Contains (it1)); Assert.IsTrue (sol1.Items.Contains (it2)); Assert.AreEqual (2, sol2.Items.Count); Assert.IsTrue (sol2.Items.Contains (it3)); Assert.IsTrue (sol2.Items.Contains (it4)); var its = ws.GetAllItems<SolutionFolderItem> ().ToList(); Assert.AreEqual (7, its.Count); Assert.IsTrue (its.Contains (it1)); Assert.IsTrue (its.Contains (it2)); Assert.IsTrue (its.Contains (it3)); Assert.IsTrue (its.Contains (it4)); Assert.IsTrue (its.Contains (sol1.RootFolder)); Assert.IsTrue (its.Contains (sol2.RootFolder)); Assert.IsTrue (its.Contains (f)); var its2 = ws.GetAllItems<DotNetProject> ().ToList(); Assert.AreEqual (3, its2.Count); Assert.IsTrue (its2.Contains (it2)); Assert.IsTrue (its2.Contains (it3)); Assert.IsTrue (its2.Contains (it4)); var its3 = ws.GetAllItems<Project> ().ToList(); Assert.AreEqual (3, its3.Count); Assert.IsTrue (its3.Contains (it2)); Assert.IsTrue (its3.Contains (it3)); Assert.IsTrue (its3.Contains (it4)); var its4 = ws.GetAllItems<Solution> ().ToList(); Assert.AreEqual (2, its4.Count); Assert.IsTrue (its4.Contains (sol1)); Assert.IsTrue (its4.Contains (sol2)); var its5 = ws.GetAllItems<WorkspaceItem> ().ToList(); Assert.AreEqual (4, its5.Count); Assert.IsTrue (its5.Contains (ws)); Assert.IsTrue (its5.Contains (cws)); Assert.IsTrue (its5.Contains (sol2)); Assert.IsTrue (its5.Contains (sol2)); var its6 = ws.GetAllItems<Workspace> ().ToList(); Assert.AreEqual (2, its6.Count); Assert.IsTrue (its6.Contains (ws)); Assert.IsTrue (its6.Contains (cws)); SolutionFolderItem si = sol2.GetSolutionItem (someId); Assert.AreEqual (it3, si); SolutionItem fi = sol2.FindSolutionItem (someFile); Assert.AreEqual (it4, fi); fi = sol2.FindProjectByName ("it3"); Assert.AreEqual (it3, fi); fi = sol2.FindProjectByName ("it4"); Assert.AreEqual (it4, fi); fi = sol2.FindProjectByName ("it2"); Assert.IsNull (fi); }
public WorkspaceItem AddWorkspaceItem (Workspace parentWorkspace) { WorkspaceItem res = null; FileSelector fdiag = new FileSelector (GettextCatalog.GetString ("Add to Workspace")); try { fdiag.SetCurrentFolder (parentWorkspace.BaseDirectory); fdiag.SelectMultiple = false; if (MessageService.RunCustomDialog (fdiag) == (int) Gtk.ResponseType.Ok) { try { res = AddWorkspaceItem (parentWorkspace, fdiag.Filename); } catch (Exception ex) { MessageService.ShowException (ex, GettextCatalog.GetString ("The file '{0}' could not be loaded.", fdiag.Filename)); } } } finally { fdiag.Destroy (); } return res; }
static bool WorkspaceContainsWorkspaceItem (Workspace workspace, FilePath workspaceItemFileName) { return workspace.Items.Any (existingWorkspaceItem => existingWorkspaceItem.FileName == workspaceItemFileName); }
public void BuildingAndCleaning () { string solFile = Util.GetSampleProject ("console-with-libs-mdp", "console-with-libs-mdp.mds"); Solution sol = (Solution) Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile); DotNetProject p = (DotNetProject) sol.FindProjectByName ("console-with-libs-mdp"); DotNetProject lib1 = (DotNetProject) sol.FindProjectByName ("library1"); DotNetProject lib2 = (DotNetProject) sol.FindProjectByName ("library2"); SolutionFolder folder = new SolutionFolder (); folder.Name = "subfolder"; sol.RootFolder.Items.Add (folder); sol.RootFolder.Items.Remove (lib2); folder.Items.Add (lib2); Workspace ws = new Workspace (); ws.FileName = Path.Combine (sol.BaseDirectory, "workspace"); ws.Items.Add (sol); ws.Save (Util.GetMonitor ()); // Build the project and the references BuildResult res = ws.Build (Util.GetMonitor (), "Debug"); Assert.AreEqual (0, res.ErrorCount); Assert.AreEqual (0, res.WarningCount); Assert.AreEqual (3, res.BuildCount); Assert.IsTrue (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", "console-with-libs-mdp.exe"))); Assert.IsTrue (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", GetMdb ("console-with-libs-mdp.exe")))); Assert.IsTrue (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", "library1.dll"))); Assert.IsTrue (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", GetMdb ("library1.dll")))); Assert.IsTrue (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", "library2.dll"))); Assert.IsTrue (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", GetMdb ("library2.dll")))); // Clean the workspace ws.Clean (Util.GetMonitor (), "Debug"); Assert.IsFalse (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", "console-with-libs-mdp.exe"))); Assert.IsFalse (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", GetMdb ("console-with-libs-mdp.exe")))); Assert.IsFalse (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", "library1.dll"))); Assert.IsFalse (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", GetMdb ("library1.dll")))); Assert.IsFalse (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", "library2.dll"))); Assert.IsFalse (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", GetMdb ("library2.dll")))); // Build the solution res = ws.Build (Util.GetMonitor (), "Debug"); Assert.AreEqual (0, res.ErrorCount); Assert.AreEqual (0, res.WarningCount); Assert.AreEqual (3, res.BuildCount); Assert.IsTrue (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", "console-with-libs-mdp.exe"))); Assert.IsTrue (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", GetMdb ("console-with-libs-mdp.exe")))); Assert.IsTrue (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", "library1.dll"))); Assert.IsTrue (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", GetMdb ("library1.dll")))); Assert.IsTrue (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", "library2.dll"))); Assert.IsTrue (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", GetMdb ("library2.dll")))); // Clean the solution sol.Clean (Util.GetMonitor (), "Debug"); Assert.IsFalse (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", "console-with-libs-mdp.exe"))); Assert.IsFalse (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", GetMdb ("console-with-libs-mdp.exe")))); Assert.IsFalse (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", "library1.dll"))); Assert.IsFalse (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", GetMdb ("library1.dll")))); Assert.IsFalse (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", "library2.dll"))); Assert.IsFalse (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", GetMdb ("library2.dll")))); // Build the solution folder res = folder.Build (Util.GetMonitor (), (SolutionConfigurationSelector) "Debug"); Assert.AreEqual (0, res.ErrorCount); Assert.AreEqual (0, res.WarningCount); Assert.AreEqual (1, res.BuildCount); Assert.IsFalse (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", "console-with-libs-mdp.exe"))); Assert.IsFalse (File.Exists (Util.Combine (p.BaseDirectory, "bin", "Debug", GetMdb ("console-with-libs-mdp.exe")))); Assert.IsFalse (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", "library1.dll"))); Assert.IsFalse (File.Exists (Util.Combine (lib1.BaseDirectory, "bin", "Debug", GetMdb ("library1.dll")))); Assert.IsTrue (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", "library2.dll"))); Assert.IsTrue (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", GetMdb ("library2.dll")))); // Clean the solution folder folder.Clean (Util.GetMonitor (), (SolutionConfigurationSelector) "Debug"); Assert.IsFalse (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", "library2.dll"))); Assert.IsFalse (File.Exists (Util.Combine (lib2.BaseDirectory, "bin", "Debug", GetMdb ("library2.dll")))); }
public void Configurations () { int configChangedEvs = 0; int configChangedEvsSub = 0; Workspace ws = new Workspace (); ws.ConfigurationsChanged += delegate { configChangedEvs++; }; Workspace cws1 = new Workspace (); cws1.ConfigurationsChanged += delegate { configChangedEvsSub++; }; ws.Items.Add (cws1); Solution sol = new Solution (); cws1.Items.Add (sol); ReadOnlyCollection<string> configs = ws.GetConfigurations (); Assert.AreEqual (0, configs.Count); configs = cws1.GetConfigurations (); Assert.AreEqual (0, configs.Count); // Add configurations configChangedEvs = configChangedEvsSub = 0; sol.AddConfiguration ("c1", false); Assert.AreEqual (1, configChangedEvs); Assert.AreEqual (1, configChangedEvsSub); configs = ws.GetConfigurations (); Assert.AreEqual (1, configs.Count); Assert.AreEqual ("c1", configs[0]); configs = cws1.GetConfigurations (); Assert.AreEqual (1, configs.Count); Assert.AreEqual ("c1", configs[0]); configChangedEvs = configChangedEvsSub = 0; sol.AddConfiguration ("c2", false); Assert.AreEqual (1, configChangedEvs); Assert.AreEqual (1, configChangedEvsSub); configs = ws.GetConfigurations (); Assert.AreEqual (2, configs.Count); Assert.AreEqual ("c1", configs[0]); Assert.AreEqual ("c2", configs[1]); configs = cws1.GetConfigurations (); Assert.AreEqual (2, configs.Count); Assert.AreEqual ("c1", configs[0]); Assert.AreEqual ("c2", configs[1]); // Add another solution Solution sol2 = new Solution (); sol2.AddConfiguration ("c3", false); sol2.AddConfiguration ("c4", false); configChangedEvs = configChangedEvsSub = 0; cws1.Items.Add (sol2); Assert.AreEqual (1, configChangedEvs); Assert.AreEqual (1, configChangedEvsSub); configs = ws.GetConfigurations (); Assert.AreEqual (4, configs.Count); Assert.AreEqual ("c1", configs[0]); Assert.AreEqual ("c2", configs[1]); Assert.AreEqual ("c3", configs[2]); Assert.AreEqual ("c4", configs[3]); configs = cws1.GetConfigurations (); Assert.AreEqual (4, configs.Count); Assert.AreEqual ("c1", configs[0]); Assert.AreEqual ("c2", configs[1]); Assert.AreEqual ("c3", configs[2]); Assert.AreEqual ("c4", configs[3]); // Remove solution configChangedEvs = configChangedEvsSub = 0; cws1.Items.Remove (sol2); Assert.AreEqual (1, configChangedEvs); Assert.AreEqual (1, configChangedEvsSub); configs = ws.GetConfigurations (); Assert.AreEqual (2, configs.Count); Assert.AreEqual ("c1", configs[0]); Assert.AreEqual ("c2", configs[1]); configs = cws1.GetConfigurations (); Assert.AreEqual (2, configs.Count); Assert.AreEqual ("c1", configs[0]); Assert.AreEqual ("c2", configs[1]); // Remove configuration configChangedEvs = configChangedEvsSub = 0; sol.Configurations.RemoveAt (1); Assert.AreEqual (1, configChangedEvs); Assert.AreEqual (1, configChangedEvsSub); configs = ws.GetConfigurations (); Assert.AreEqual (1, configs.Count); Assert.AreEqual ("c1", configs[0]); configs = cws1.GetConfigurations (); Assert.AreEqual (1, configs.Count); Assert.AreEqual ("c1", configs[0]); // Remove child workspace configChangedEvs = configChangedEvsSub = 0; ws.Items.Remove (cws1); Assert.AreEqual (1, configChangedEvs); configs = ws.GetConfigurations (); Assert.AreEqual (0, configs.Count); }
public WorkspaceItem AddNewWorkspaceItem (Workspace parentWorkspace, string defaultItemId) { NewProjectDialog npdlg = new NewProjectDialog (null, false, parentWorkspace.BaseDirectory); npdlg.SelectTemplate (defaultItemId); try { if (MessageService.RunCustomDialog (npdlg) == (int) Gtk.ResponseType.Ok && npdlg.NewItem != null) { parentWorkspace.Items.Add ((WorkspaceItem) npdlg.NewItem); Save (parentWorkspace); return (WorkspaceItem) npdlg.NewItem; } } finally { npdlg.Destroy (); } return null; }
public static WorkspaceTestGroup CreateTest (Workspace ws) { return new WorkspaceTestGroup (ws); }
public WorkspaceItem AddWorkspaceItem (Workspace parentWorkspace, string itemFileName) { using (IProgressMonitor monitor = IdeApp.Workbench.ProgressMonitors.GetProjectLoadProgressMonitor (true)) { WorkspaceItem it = Services.ProjectService.ReadWorkspaceItem (monitor, itemFileName); if (it != null) { parentWorkspace.Items.Add (it); Save (parentWorkspace); } return it; } }
public void ModelQueries() { DotNetProject it2, it3, it4; DummySolutionItem it1; string someFile, someId; Workspace ws = new Workspace(); Workspace cws = new Workspace(); ws.Items.Add(cws); Solution sol1 = new Solution(); cws.Items.Add(sol1); sol1.RootFolder.Items.Add(it1 = new DummySolutionItem()); sol1.RootFolder.Items.Add(it2 = Services.ProjectService.CreateDotNetProject("C#")); Solution sol2 = new Solution(); cws.Items.Add(sol2); SolutionFolder f = new SolutionFolder(); sol2.RootFolder.Items.Add(f); f.Items.Add(it3 = Services.ProjectService.CreateDotNetProject("C#")); f.Items.Add(it4 = Services.ProjectService.CreateDotNetProject("C#")); it3.Name = "it3"; it4.FileName = "/test/it4"; someFile = it4.FileName; someId = it3.ItemId; Assert.IsFalse(string.IsNullOrEmpty(someId)); Assert.AreEqual(2, sol1.Items.Count); Assert.IsTrue(sol1.Items.Contains(it1)); Assert.IsTrue(sol1.Items.Contains(it2)); Assert.AreEqual(2, sol2.Items.Count); Assert.IsTrue(sol2.Items.Contains(it3)); Assert.IsTrue(sol2.Items.Contains(it4)); var its = ws.GetAllItems <SolutionFolderItem> ().ToList(); Assert.AreEqual(7, its.Count); Assert.IsTrue(its.Contains(it1)); Assert.IsTrue(its.Contains(it2)); Assert.IsTrue(its.Contains(it3)); Assert.IsTrue(its.Contains(it4)); Assert.IsTrue(its.Contains(sol1.RootFolder)); Assert.IsTrue(its.Contains(sol2.RootFolder)); Assert.IsTrue(its.Contains(f)); var its2 = ws.GetAllItems <DotNetProject> ().ToList(); Assert.AreEqual(3, its2.Count); Assert.IsTrue(its2.Contains(it2)); Assert.IsTrue(its2.Contains(it3)); Assert.IsTrue(its2.Contains(it4)); var its3 = ws.GetAllItems <Project> ().ToList(); Assert.AreEqual(3, its3.Count); Assert.IsTrue(its3.Contains(it2)); Assert.IsTrue(its3.Contains(it3)); Assert.IsTrue(its3.Contains(it4)); var its4 = ws.GetAllItems <Solution> ().ToList(); Assert.AreEqual(2, its4.Count); Assert.IsTrue(its4.Contains(sol1)); Assert.IsTrue(its4.Contains(sol2)); var its5 = ws.GetAllItems <WorkspaceItem> ().ToList(); Assert.AreEqual(4, its5.Count); Assert.IsTrue(its5.Contains(ws)); Assert.IsTrue(its5.Contains(cws)); Assert.IsTrue(its5.Contains(sol2)); Assert.IsTrue(its5.Contains(sol2)); var its6 = ws.GetAllItems <Workspace> ().ToList(); Assert.AreEqual(2, its6.Count); Assert.IsTrue(its6.Contains(ws)); Assert.IsTrue(its6.Contains(cws)); SolutionFolderItem si = sol2.GetSolutionItem(someId); Assert.AreEqual(it3, si); SolutionItem fi = sol2.FindSolutionItem(someFile); Assert.AreEqual(it4, fi); fi = sol2.FindProjectByName("it3"); Assert.AreEqual(it3, fi); fi = sol2.FindProjectByName("it4"); Assert.AreEqual(it4, fi); fi = sol2.FindProjectByName("it2"); Assert.IsNull(fi); ws.Dispose(); cws.Dispose(); }