public void ShouldRestoreLinksOnServiceInitialization() { MockIVsSolution solution = new MockIVsSolution(); MockVsHierarchy sourceHierarchy = new MockVsHierarchy(); MockVsHierarchy targetHierarchy = new MockVsHierarchy(); targetHierarchy.GetPropertyProjectValue.Globals.Dictionary["ProjectLinkReference"] = sourceHierarchy.GetPropertyProjectIdGuidValue.ToString(); solution.Hierarchies.Add(sourceHierarchy); solution.Hierarchies.Add(targetHierarchy); MockSolution dteSolution = new MockSolution(); dteSolution.Projects.List.Add(sourceHierarchy.GetPropertyProjectValue); dteSolution.Projects.List.Add(targetHierarchy.GetPropertyProjectValue); ProjectLinkTracker tracker = new ProjectLinkTracker(new MockDocumentTracker(), solution, new MockLogger(), dteSolution); List <ProjectLink> links = tracker.GetProjectLinks().ToList(); Assert.AreEqual(1, links.Count); Assert.AreEqual(sourceHierarchy.GetPropertyProjectIdGuidValue, links[0].SourceProjectId); Assert.AreEqual(targetHierarchy.GetPropertyProjectIdGuidValue, links[0].TargetProjectId); }
public void ShouldRegisterInSolutionEvents() { MockIVsSolution vsSolution = new MockIVsSolution(); ProjectLinkTracker tracker = new ProjectLinkTracker(new MockDocumentTracker(), vsSolution, null); Assert.IsTrue(vsSolution.AdviseSolutionEventsCalled); }
public void ShouldRegisterInDocumentTracker() { MockDocumentTracker documentTracker = new MockDocumentTracker(); ProjectLinkTracker tracker = new ProjectLinkTracker(documentTracker, new MockIVsSolution(), null); Assert.IsTrue(documentTracker.AdviseTrackProjectDocumentsEventsCalled); Assert.AreSame(tracker, documentTracker.AdviseTrackProjectDocumentsEventsArgumentEventSink); }
public void AddProjectLinkAddsPersistInfoToTargetProject() { MockIVsSolution solution = new MockIVsSolution(); ProjectLinkTracker tracker = new ProjectLinkTracker(new MockDocumentTracker(), solution, null); MockVsHierarchy sourceHierarchy = new MockVsHierarchy(); MockVsHierarchy targetHierarchy = new MockVsHierarchy(); tracker.AddProjectLink(sourceHierarchy, targetHierarchy); Assert.IsTrue(targetHierarchy.GetPropertyProjectValue.Globals.Dictionary.ContainsKey("ProjectLinkReference")); Assert.AreEqual(sourceHierarchy.GetPropertyProjectIdGuidValue.ToString(), targetHierarchy.GetPropertyProjectValue.Globals.Dictionary["ProjectLinkReference"]); Assert.IsTrue(targetHierarchy.GetPropertyProjectValue.Globals.SetVariablePersistsCalled); }