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 ShouldSetProjectLinkItemsInView() { MockLinksEditorView mockView = new MockLinksEditorView(); MockProjectLinkTracker mockProjectLinkTracker = new MockProjectLinkTracker(); MockHierarchyNode sourceHierarchyNode = new MockHierarchyNode { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "SourceProject" }; MockHierarchyNode targetHierarchyNode = new MockHierarchyNode { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "TargetProject" }; mockProjectLinkTracker.ProjectLinks = new List <ProjectLink> { new ProjectLink { SourceProjectId = sourceHierarchyNode.ProjectGuid, TargetProjectId = targetHierarchyNode.ProjectGuid } }; MockHierarchyNodeFactory 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 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 ShouldFilterOutChildren() { var solutionNode = new MockHierarchyNode() { IsSolution = true }; var projectNode = new MockHierarchyNode() { ExtObject = new MockProject() }; var itemNode = new MockHierarchyNode() { ExtObject = new object() }; OnlyProjectsFilter target = new OnlyProjectsFilter(); Assert.IsFalse(target.Filter(solutionNode)); Assert.IsTrue(target.Filter(itemNode)); Assert.IsFalse(target.Filter(projectNode)); }
public void ShouldUnlinkProjects() { MockProjectLinkTracker mockProjectLinkTracker = new MockProjectLinkTracker(); MockHierarchyNode sourceHierarchyNode = new MockHierarchyNode { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "SourceProject" }; MockHierarchyNode targetHierarchyNode = new MockHierarchyNode { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "TargetProject" }; mockProjectLinkTracker.ProjectLinks = new List <ProjectLink> { new ProjectLink { SourceProjectId = sourceHierarchyNode.ProjectGuid, TargetProjectId = targetHierarchyNode.ProjectGuid } }; MockHierarchyNodeFactory mockHierarchyNodeFactory = new MockHierarchyNodeFactory { GetSelectedProjectReturnValue = new MockHierarchyNode { SolutionRelativeName = targetHierarchyNode.SolutionRelativeName } }; mockHierarchyNodeFactory.HierarchyNodesList.Add(sourceHierarchyNode); mockHierarchyNodeFactory.HierarchyNodesList.Add(targetHierarchyNode); MockLinksEditorView 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); }
public void ShouldNotExitIfSelectedHierachyIsSameAsTarget() { var mockView = new MockSolutionPickerView(); var childProjectNode = new MockHierarchyNode() { TypeGuid = new Guid(VSLangProj.PrjKind.prjKindCSharpProject) }; var presenter = new SolutionPickerPresenter(new MockHierarchyNode(), mockView, childProjectNode); mockView.CanExit = true; mockView.SelectedNode = childProjectNode; mockView.FireSelectedNodeChanged(); Assert.IsFalse(mockView.CanExit); }
public void ShouldNotExitIfSelectedHierachyIsSameAsTarget() { MockSolutionPickerView mockView = new MockSolutionPickerView(); MockHierarchyNode childProjectNode = new MockHierarchyNode { TypeGuid = new Guid(PrjKind.prjKindCSharpProject) }; SolutionPickerPresenter presenter = new SolutionPickerPresenter(new MockHierarchyNode(), mockView, childProjectNode); mockView.CanExit = true; mockView.SelectedNode = childProjectNode; mockView.FireSelectedNodeChanged(); Assert.IsFalse(mockView.CanExit); }
public void ShouldFilterOutChildren() { MockHierarchyNode solutionNode = new MockHierarchyNode { IsSolution = true }; MockHierarchyNode projectNode = new MockHierarchyNode { ExtObject = new MockProject() }; MockHierarchyNode itemNode = new MockHierarchyNode { ExtObject = new object() }; OnlyProjectsFilter target = new OnlyProjectsFilter(); Assert.IsFalse(target.Filter(solutionNode)); Assert.IsTrue(target.Filter(itemNode)); Assert.IsFalse(target.Filter(projectNode)); }
public void ShouldSetViewToCanExitIfProjectNodeSelected() { MockSolutionPickerView mockView = new MockSolutionPickerView(); MockHierarchyNode childProjectNode = new MockHierarchyNode { TypeGuid = new Guid(PrjKind.prjKindCSharpProject) }; MockHierarchyNode targetProjectNode = new MockHierarchyNode { TypeGuid = new Guid(PrjKind.prjKindCSharpProject) }; SolutionPickerPresenter presenter = new SolutionPickerPresenter(new MockHierarchyNode(), mockView, targetProjectNode); mockView.CanExit = false; mockView.SelectedNode = childProjectNode; mockView.FireSelectedNodeChanged(); Assert.IsTrue(mockView.CanExit); }
public void ShouldSetSelectedProjectOnView() { MockProjectLinkTracker mockProjectLinkTracker = new MockProjectLinkTracker(); MockHierarchyNode sourceHierarchyNode = new MockHierarchyNode { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "SourceProject" }; MockHierarchyNode targetHierarchyNode = new MockHierarchyNode { ProjectGuid = Guid.NewGuid(), SolutionRelativeName = "TargetProject" }; mockProjectLinkTracker.ProjectLinks = new List <ProjectLink> { new ProjectLink { SourceProjectId = sourceHierarchyNode.ProjectGuid, TargetProjectId = targetHierarchyNode.ProjectGuid } }; MockHierarchyNodeFactory mockHierarchyNodeFactory = new MockHierarchyNodeFactory { GetSelectedProjectReturnValue = new MockHierarchyNode { SolutionRelativeName = targetHierarchyNode.SolutionRelativeName } }; mockHierarchyNodeFactory.HierarchyNodesList.Add(sourceHierarchyNode); mockHierarchyNodeFactory.HierarchyNodesList.Add(targetHierarchyNode); MockLinksEditorView 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); }
public void ShouldSetViewToCanExitIfProjectNodeSelected() { var mockView = new MockSolutionPickerView(); var childProjectNode = new MockHierarchyNode() { TypeGuid = new Guid(VSLangProj.PrjKind.prjKindCSharpProject) }; var targetProjectNode = new MockHierarchyNode() { TypeGuid = new Guid(VSLangProj.PrjKind.prjKindCSharpProject) }; var presenter = new SolutionPickerPresenter(new MockHierarchyNode(), mockView, targetProjectNode); mockView.CanExit = false; mockView.SelectedNode = childProjectNode; mockView.FireSelectedNodeChanged(); Assert.IsTrue(mockView.CanExit); }