public void ReturnsNameForItemWithoutParent() { HierarchyTreeViewItem item; Mock <IHierarchyNode> node; node = new Mock <IHierarchyNode>(); node.SetupGet((x) => x.Name).Returns("Root"); item = new HierarchyTreeViewItem(node.Object, Enumerable.Empty <HierarchyTreeViewItem>()); Assert.Equal("Root", item.Path); }
public void JoinsNameToParentPathForItemWithParent() { HierarchyTreeViewItem parentItem; HierarchyTreeViewItem childItem; Mock <IHierarchyNode> parentNode; Mock <IHierarchyNode> childNode; childNode = new Mock <IHierarchyNode>(); childNode.SetupGet((x) => x.Name).Returns("Child"); parentNode = new Mock <IHierarchyNode>(); parentNode.SetupGet((x) => x.Name).Returns("Root"); childItem = new HierarchyTreeViewItem(childNode.Object, Enumerable.Empty <HierarchyTreeViewItem>()); parentItem = new HierarchyTreeViewItem(parentNode.Object, new[] { childItem }); Assert.Equal("Root/Child", childItem.Path); }
public void ReturnsIconBasedOnExpandedState() { HierarchyTreeViewItem item; Mock <IHierarchyNode> node; node = new Mock <IHierarchyNode>(); node.SetupGet((x) => x.CollapsedIcon).Returns(KnownMonikers.FolderClosed); node.SetupGet((x) => x.ExpandedIcon).Returns(KnownMonikers.FolderOpened); item = new HierarchyTreeViewItem(node.Object, Enumerable.Empty <HierarchyTreeViewItem>()) { IsExpanded = true }; Assert.Equal(KnownMonikers.FolderOpened, item.Icon); item.IsExpanded = false; Assert.Equal(KnownMonikers.FolderClosed, item.Icon); }
private static HierarchyTreeViewItem CreateItem(IHierarchyNode node) { HierarchyTreeViewItem item; item = new HierarchyTreeViewItem(node, node.Children.Select(CreateItem)); // Set the checked state of the item. If it has children, then we check // it based on whether all or none of the children are checked. If it // doesn't have children, then we check it if the node is loaded. In either // case, we only set the checked state of the direct item and don't affect // the children or parent because the children have already been initialized, // and the parent will be initialized when we return from this method. item.SetIsChecked( item.Children.Count > 0 ? item.Children.CalculateCheckedState() : node.IsLoaded, false, false ); return(item); }
public void RaisesPropertyChangedEventForIcon() { HierarchyTreeViewItem item; item = new HierarchyTreeViewItem( Mock.Of <IHierarchyNode>(), Enumerable.Empty <HierarchyTreeViewItem>() ); Assert.PropertyChanged( item, nameof(HierarchyTreeViewItem.Icon), () => item.IsExpanded = false ); Assert.PropertyChanged( item, nameof(HierarchyTreeViewItem.Icon), () => item.IsExpanded = true ); }