public void ShouldSetProjectLinkItemsInView() { var mockView = new MockLinksEditorView(); var mockProjectLinkTracker = new MockProjectLinkTracker(); var sourceHierarchyNode = new MockHierarchyNode {ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "SourceProject"}; var targetHierarchyNode = new MockHierarchyNode { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "TargetProject" }; mockProjectLinkTracker.ProjectLinks = new List<ProjectLink> { new ProjectLink { SourceProjectId = sourceHierarchyNode.ProjectGuid, TargetProjectId = targetHierarchyNode.ProjectGuid } }; var mockHierarchyNodeFactory = new MockHierarchyNodeFactory(); mockHierarchyNodeFactory.HierarchyNodesList.Add(sourceHierarchyNode); mockHierarchyNodeFactory.HierarchyNodesList.Add(targetHierarchyNode); LinksEditorPresenter presenter = new LinksEditorPresenter(mockView, mockProjectLinkTracker, mockHierarchyNodeFactory); Assert.IsTrue(mockProjectLinkTracker.GetProjectLinksCalled); Assert.IsTrue(mockView.ProjectLinksCalled); Assert.IsNotNull(mockView.ProjectLinks); Assert.AreEqual(1, mockView.ProjectLinks.Count); Assert.AreEqual("SourceProject", mockView.ProjectLinks[0].SourceProjectName); Assert.AreEqual(sourceHierarchyNode.ProjectGuid, mockView.ProjectLinks[0].SourceProjectGuid); Assert.AreEqual("TargetProject", mockView.ProjectLinks[0].TargetProjectName); Assert.AreEqual(targetHierarchyNode.ProjectGuid, mockView.ProjectLinks[0].TargetProjectGuid); }
public void ShouldSetSelectedProjectOnView() { var mockProjectLinkTracker = new MockProjectLinkTracker(); var sourceHierarchyNode = new MockHierarchyNode() { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "SourceProject" }; var targetHierarchyNode = new MockHierarchyNode() { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "TargetProject" }; mockProjectLinkTracker.ProjectLinks = new List<ProjectLink> { new ProjectLink { SourceProjectId = sourceHierarchyNode.ProjectGuid, TargetProjectId = targetHierarchyNode.ProjectGuid } }; var mockHierarchyNodeFactory = new MockHierarchyNodeFactory(); mockHierarchyNodeFactory.GetSelectedProjectReturnValue = new MockHierarchyNode() { SolutionRelativeName = targetHierarchyNode. SolutionRelativeName }; mockHierarchyNodeFactory.HierarchyNodesList.Add(sourceHierarchyNode); mockHierarchyNodeFactory.HierarchyNodesList.Add(targetHierarchyNode); var mockView = new MockLinksEditorView(); LinksEditorPresenter presenter = new LinksEditorPresenter(mockView, mockProjectLinkTracker, mockHierarchyNodeFactory); Assert.IsTrue(mockView.SelectedProjectLinkItemCalled); Assert.AreEqual("TargetProject", mockView.SelectedProjectLinkItems[0].TargetProjectName); }
public void ShouldUnlinkProjects() { var mockProjectLinkTracker = new MockProjectLinkTracker(); var sourceHierarchyNode = new MockHierarchyNode() { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "SourceProject" }; var targetHierarchyNode = new MockHierarchyNode() { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "TargetProject" }; mockProjectLinkTracker.ProjectLinks = new List<ProjectLink> { new ProjectLink { SourceProjectId = sourceHierarchyNode.ProjectGuid, TargetProjectId = targetHierarchyNode.ProjectGuid } }; var mockHierarchyNodeFactory = new MockHierarchyNodeFactory(); mockHierarchyNodeFactory.GetSelectedProjectReturnValue = new MockHierarchyNode() { SolutionRelativeName = targetHierarchyNode. SolutionRelativeName }; mockHierarchyNodeFactory.HierarchyNodesList.Add(sourceHierarchyNode); mockHierarchyNodeFactory.HierarchyNodesList.Add(targetHierarchyNode); var mockView = new MockLinksEditorView(); LinksEditorPresenter presenter = new LinksEditorPresenter(mockView, mockProjectLinkTracker, mockHierarchyNodeFactory); mockView.SelectedProjectLinkItems = new Collection<ProjectLinkItem> { new ProjectLinkItem { SourceProjectGuid = sourceHierarchyNode.ProjectGuid, TargetProjectGuid = targetHierarchyNode.ProjectGuid } }; mockView.ProjectLinksCalled = false; mockProjectLinkTracker.GetProjectLinksCalled = false; mockView.FireProjectsUnlinking(); Assert.IsTrue(mockProjectLinkTracker.UnlinkProjectsCalled); Assert.AreEqual(sourceHierarchyNode.ProjectGuid, mockProjectLinkTracker.UnlinkProjectsSourceArgument); Assert.AreEqual(targetHierarchyNode.ProjectGuid, mockProjectLinkTracker.UnlinkProjectsTargetArgument); Assert.IsTrue(mockProjectLinkTracker.GetProjectLinksCalled); Assert.IsTrue(mockView.ProjectLinksCalled); }