コード例 #1
0
        public void ShouldAddNewItemsToSync()
        {
            MockIVsSolution            solution            = new MockIVsSolution();
            TestableProjectLinkTracker tracker             = new TestableProjectLinkTracker(new MockDocumentTracker(), solution);
            MockVsHierarchy            project1VsHierarchy = new MockVsHierarchy();
            MockVsHierarchy            project2VsHierarchy = new MockVsHierarchy();

            solution.Hierarchies.Add(project1VsHierarchy);
            solution.Hierarchies.Add(project2VsHierarchy);

            tracker.AddProjectLink(project1VsHierarchy.GetPropertyProjectIdGuidValue, project2VsHierarchy.GetPropertyProjectIdGuidValue);

            Assert.IsTrue(tracker.ProjectsAreLinked(project1VsHierarchy, project2VsHierarchy));
            Assert.IsFalse(tracker.ProjectsAreLinked(project2VsHierarchy, project1VsHierarchy));
        }
コード例 #2
0
        public void ShouldTrackMultipleProjects()
        {
            MockIVsSolution            solution            = new MockIVsSolution();
            TestableProjectLinkTracker tracker             = new TestableProjectLinkTracker(new MockDocumentTracker(), solution);
            MockVsHierarchy            project1VsHierarchy = new MockVsHierarchy();
            MockVsHierarchy            project2VsHierarchy = new MockVsHierarchy();
            MockVsHierarchy            project3VsHierarchy = new MockVsHierarchy();

            solution.Hierarchies.Add(project1VsHierarchy);
            solution.Hierarchies.Add(project2VsHierarchy);
            solution.Hierarchies.Add(project3VsHierarchy);

            tracker.AddProjectLink(project1VsHierarchy, project2VsHierarchy);
            tracker.AddProjectLink(project1VsHierarchy, project3VsHierarchy);

            Assert.IsTrue(tracker.ProjectsAreLinked(project1VsHierarchy, project2VsHierarchy));
            Assert.IsTrue(tracker.ProjectsAreLinked(project1VsHierarchy, project3VsHierarchy));
        }
コード例 #3
0
        public void ShouldStopTrackingIfSourceProjectIsClosed()
        {
            MockIVsSolution            solution        = new MockIVsSolution();
            TestableProjectLinkTracker tracker         = new TestableProjectLinkTracker(new MockDocumentTracker(), solution);
            MockVsHierarchy            sourceHierarchy = new MockVsHierarchy();
            MockVsHierarchy            targetHierarchy = new MockVsHierarchy();

            targetHierarchy.GetPropertyProjectValue.Globals.Dictionary["ProjectLinkReference"] =
                sourceHierarchy.GetPropertyProjectIdGuidValue.ToString();
            solution.Hierarchies.Add(sourceHierarchy);
            tracker.OnAfterOpenProject(sourceHierarchy, 0);
            tracker.OnAfterOpenProject(targetHierarchy, 0);
            Assert.IsTrue(tracker.ProjectsAreLinked(sourceHierarchy, targetHierarchy));

            tracker.OnBeforeCloseProject(sourceHierarchy, 0);

            Assert.IsFalse(tracker.ProjectsAreLinked(sourceHierarchy, targetHierarchy));
        }