Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
    }
Ejemplo n.º 5
0
        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
                );
        }