Ejemplo n.º 1
0
        public void ConstructorTest()
        {
            var originalList          = new ObservableCollection <string>(new[] { "D", "A", "c", "b" });
            Predicate <string> filter = x => x != "c";
            Func <IEnumerable <string>, IOrderedEnumerable <string> > sort = x => x.OrderBy(y => y);
            var listView = new ObservableListViewCore <string>(originalList, StringComparer.OrdinalIgnoreCase);

            listView.Filter = filter;
            listView.Sort   = sort;
            AssertHelper.SequenceEqual(new[] { "A", "b", "D" }, listView);
            listView.Dispose();

            listView = new ObservableListViewCore <string>(originalList, StringComparer.OrdinalIgnoreCase, filter, sort);
            AssertHelper.SequenceEqual(new[] { "A", "b", "D" }, listView);
            Assert.AreSame(filter, listView.Filter);
            Assert.AreSame(sort, listView.Sort);
            listView.Dispose();

            listView = new ObservableListViewCore <string>(originalList, StringComparer.OrdinalIgnoreCase, filter, sort, true);
            AssertHelper.SequenceEqual(new[] { "A", "b", "D" }, listView);
            Assert.AreSame(filter, listView.Filter);
            Assert.AreSame(sort, listView.Sort);

            bool collectionChangedCalled = false;

            listView.CollectionChanged += (sender, e) =>
            {
                collectionChangedCalled = true;
            };
            originalList.Add("e");
            Assert.IsFalse(collectionChangedCalled);
            listView.Dispose();

            AssertHelper.ExpectedException <ArgumentNullException>(() => new ObservableListViewCore <string>(null !));
        }
Ejemplo n.º 2
0
        public void Initialize()
        {
            originalList       = new ObservableCollection <string>();
            observableListView = new ObservableListViewCore <string>(originalList);
            eventArgsList      = new List <NotifyCollectionChangedEventArgs>();

            void CollectionHandler(object sender, NotifyCollectionChangedEventArgs e)
            {
                eventArgsList.Add(e);
            }

            observableListView.CollectionChanged += CollectionHandler;

            void PropertyHandler(object sender, PropertyChangedEventArgs e)
            {
                if (e.PropertyName == nameof(observableListView.Count))
                {
                    countChangedCount++;
                }
                else if (e.PropertyName == "Item[]")
                {
                    indexerChangedCount++;
                }
            }

            observableListView.PropertyChanged += PropertyHandler;
        }
Ejemplo n.º 3
0
        public void Initialize()
        {
            originalList       = new ObservableCollection <string>();
            observableListView = new ObservableListViewCore <string>(originalList);
            eventArgsList      = new List <NotifyCollectionChangedEventArgs>();

            NotifyCollectionChangedEventHandler collectionHandler = (sender, e) =>
            {
                eventArgsList.Add(e);
            };

            observableListView.CollectionChanged += collectionHandler;

            PropertyChangedEventHandler propertyHandler = (sender, e) =>
            {
                if (e.PropertyName == nameof(observableListView.Count))
                {
                    countChangedCount++;
                }
                else if (e.PropertyName == "Item[]")
                {
                    indexerChangedCount++;
                }
            };

            observableListView.PropertyChanged += propertyHandler;
        }
Ejemplo n.º 4
0
        public void RaiseEventsWithoutListener()
        {
            var originalList2       = new ObservableCollection <string>();
            var observableListView2 = new ObservableListViewCore <string>(originalList);

            originalList2.Add("first");
            originalList2.Add("second");
            originalList2.Move(0, 1);
            originalList2.Remove("first");
            originalList2.Add("third");
            originalList2.Clear();

            observableListView2.Dispose();
            observableListView2.Dispose();
        }