// TODO: add layout class more generally. /// <summary> /// Creates a work item tree node for testing. /// </summary> /// <param name="workItemType">The name of the work item type.</param> /// <param name="level">The level in the tree.</param> /// <returns>The work item tree node.</returns> private static WorkItemTreeNode CreateWorkItemNode(string workItemType, int level) { ITfsWorkItem item = TestHelper.CreateMockWorkItem(workItemType, 1, "test"); WorkItemTreeNode ans = new WorkItemTreeNode(item, level); return(ans); }
public void ChooseBuildingBlockLocatesDefaultBuildingBlockWithLevelIfOneExistsForThatLevel() { WorkItemTreeNode item = CreateWorkItemNode(Wit, 0); LayoutInformation li = this.SetupTestLayout(BuildingBlockName.Default, new BuildingBlockName(0)); WorkItemLayout sut = this.CreateWorkItemLayout(li); // Act BuildingBlock ans = sut.ChooseBuildingBlock(item); // Assert Assert.AreEqual <BuildingBlockName>(new BuildingBlockName(0), new BuildingBlockName(ans), "The level-specific default building block was not used."); }
public void ChooseBuildingBlockLocatesWorkItemLevelSpecificBuildingBlockInPreferenceToLevelSpecificDefault() { WorkItemTreeNode item = CreateWorkItemNode(Wit, 0); LayoutInformation li = this.SetupTestLayout(BuildingBlockName.Default, new BuildingBlockName(0), new BuildingBlockName(Wit, 0)); WorkItemLayout sut = this.CreateWorkItemLayout(li); // Act BuildingBlock ans = sut.ChooseBuildingBlock(item); // Assert Assert.AreEqual <BuildingBlockName>(new BuildingBlockName(Wit, 0), new BuildingBlockName(ans), "The work item level-specific building block was not used."); }
public void BuildingBlockForSpecificWorkItemTypeIsNotUsedForWorkItemsNotOfThatType() { WorkItemTreeNode item = CreateWorkItemNode("SomeOtherWorkItemType", 0); LayoutInformation li = this.SetupTestLayout(BuildingBlockName.Default, new BuildingBlockName(Wit)); WorkItemLayout sut = this.CreateWorkItemLayout(li); // Act BuildingBlock ans = sut.ChooseBuildingBlock(item); // Assert Assert.AreEqual <BuildingBlockName>(BuildingBlockName.Default, new BuildingBlockName(ans), "The default building block was not used."); }
public void ChooseBuildingBlockLocatesDefaultBuildingBlockEvenIfNotTheFirstInALayout() { WorkItemTreeNode item = CreateWorkItemNode(Wit, 0); LayoutInformation li = this.SetupTestLayout(new BuildingBlockName("dummy"), BuildingBlockName.Default); WorkItemLayout sut = this.CreateWorkItemLayout(li); // Act BuildingBlock ans = sut.ChooseBuildingBlock(item); // Assert Assert.AreEqual <BuildingBlockName>(BuildingBlockName.Default, new BuildingBlockName(ans), "The default building block was not used."); }
public void BuildingBlockForSpecificWorkItemTypeAndLevelNotUsedForWorkItemsNotOnThatLevel() { WorkItemTreeNode item = CreateWorkItemNode(Wit, 0); LayoutInformation li = this.SetupTestLayout(BuildingBlockName.Default, new BuildingBlockName(Wit), new BuildingBlockName(Wit, 1)); WorkItemLayout sut = this.CreateWorkItemLayout(li); // Act BuildingBlock ans = sut.ChooseBuildingBlock(item); // Assert Assert.AreEqual <BuildingBlockName>(new BuildingBlockName(Wit), new BuildingBlockName(ans)); }
public void BuildingBlockForSpecificWorkItemTypeAndLevelOverridesDefaultIfWorkItemTypeSpecificNotDefined() { WorkItemTreeNode item = CreateWorkItemNode(Wit, 1); LayoutInformation li = this.SetupTestLayout(BuildingBlockName.Default, new BuildingBlockName(Wit, 1)); WorkItemLayout sut = this.CreateWorkItemLayout(li); // Act BuildingBlock ans = sut.ChooseBuildingBlock(item); // Assert Assert.AreEqual <BuildingBlockName>(new BuildingBlockName(Wit, 1), new BuildingBlockName(ans)); }
public void DepthFirstIterationTest() { // Arrange WorkItemTreeNode node0 = new WorkItemTreeNode(null, 0); WorkItemTreeNode node0_0 = new WorkItemTreeNode(null, 1); WorkItemTreeNode node0_0_0 = new WorkItemTreeNode(null, 2); WorkItemTreeNode node0_0_1 = new WorkItemTreeNode(null, 2); WorkItemTreeNode node1 = new WorkItemTreeNode(null, 0); WorkItemTreeNode node1_0 = new WorkItemTreeNode(null, 0); node0.Children.Add(node0_0); node0_0.Children.Add(node0_0_0); node0_0.Children.Add(node0_0_1); node1.Children.Add(node1_0); WorkItemTree sut = new WorkItemTree(); sut.RootNodes.Add(node0); sut.RootNodes.Add(node1); // Act IEnumerator <WorkItemTreeNode> e = sut.DepthFirstNodes().GetEnumerator(); // Assert Assert.IsTrue(e.MoveNext()); Assert.AreSame(node0, e.Current); Assert.IsTrue(e.MoveNext()); Assert.AreSame(node0_0, e.Current); Assert.IsTrue(e.MoveNext()); Assert.AreSame(node0_0_0, e.Current); Assert.IsTrue(e.MoveNext()); Assert.AreSame(node0_0_1, e.Current); Assert.IsTrue(e.MoveNext()); Assert.AreSame(node1, e.Current); Assert.IsTrue(e.MoveNext()); Assert.AreSame(node1_0, e.Current); }