Exemplo n.º 1
0
        public void ClearsFilterOnEachItem()
        {
            HierarchyTreeViewItemCollection collection;
            HierarchyTreeViewItem           item;
            HierarchyTreeViewItem           childA;
            HierarchyTreeViewItem           childB;
            HierarchyTreeViewItem           childC;


            childA = Factory.CreateTreeViewItem(name: "A");
            childB = Factory.CreateTreeViewItem(name: "B");
            childC = Factory.CreateTreeViewItem(name: "C");
            item   = Factory.CreateTreeViewItem(name: "Root", children: new[] { childA, childB, childC });

            collection = new HierarchyTreeViewItemCollection(new[] { item });
            collection.Filter(new RegexTextFilter("B"));

            Assert.Equal(new[] { item }, collection);
            Assert.Equal(new[] { childB }, item.Children);

            collection.ClearFilter();

            Assert.Equal(new[] { item }, collection);
            Assert.Equal(new[] { childA, childB, childC }, item.Children);
        }
Exemplo n.º 2
0
        public void DoesNotRaiseCollectionChangedEventWhenCollectionIsEmpty()
        {
            HierarchyTreeViewItemCollection collection;
            bool raised;


            raised = false;

            collection = new HierarchyTreeViewItemCollection(Enumerable.Empty <HierarchyTreeViewItem>());
            collection.Filter(new RegexTextFilter("A"));

            collection.CollectionChanged += (s, e) => raised = true;
            collection.ClearFilter();

            Assert.False(raised);
        }
Exemplo n.º 3
0
        public void ReturnsCountOfFilteredItems()
        {
            HierarchyTreeViewItemCollection collection;


            collection = new HierarchyTreeViewItemCollection(new[] {
                Factory.CreateTreeViewItem(name: "foo"),
                Factory.CreateTreeViewItem(name: "bar")
            });

            Assert.Equal(2, collection.Count);

            collection.Filter(new RegexTextFilter("f"));

            Assert.Single(collection);

            collection.ClearFilter();

            Assert.Equal(2, collection.Count);
        }
Exemplo n.º 4
0
        public void RestoresOriginalItems()
        {
            HierarchyTreeViewItemCollection collection;
            HierarchyTreeViewItem           foo;
            HierarchyTreeViewItem           bar;
            HierarchyTreeViewItem           meep;


            foo  = Factory.CreateTreeViewItem(name: "foo");
            bar  = Factory.CreateTreeViewItem(name: "bar");
            meep = Factory.CreateTreeViewItem(name: "meep");

            collection = new HierarchyTreeViewItemCollection(new[] { foo, bar, meep });
            collection.Filter(new RegexTextFilter("foo"));

            Assert.Equal(new[] { foo }, collection);

            collection.ClearFilter();

            Assert.Equal(new[] { foo, bar, meep }, collection);
        }
Exemplo n.º 5
0
        public void RaisesCollectionChangedEventWhenCollectionIsNotEmpty()
        {
            HierarchyTreeViewItemCollection collection;

            Assert.RaisedEvent <NotifyCollectionChangedEventArgs> e;


            collection = new HierarchyTreeViewItemCollection(new[] {
                Factory.CreateTreeViewItem(name: "Foo"),
                Factory.CreateTreeViewItem(name: "Bar"),
            });

            collection.Filter(new RegexTextFilter("F"));

            e = Assert.Raises <NotifyCollectionChangedEventArgs>(
                (x) => collection.CollectionChanged += new NotifyCollectionChangedEventHandler(x),
                (x) => collection.CollectionChanged -= new NotifyCollectionChangedEventHandler(x),
                () => collection.ClearFilter()
                );

            Assert.Equal(NotifyCollectionChangedAction.Reset, e.Arguments.Action);
        }