Beispiel #1
0
        private static Tuple <ThreadSafeBindableCollection <int>, SelectCollection <int, int> > BindingList1To5()
        {
            var ints = new ThreadSafeBindableCollection <int>();

            ints.AddRange(new[] { 0, 1, 2, 3, 4 });
            var sc = new SelectCollection <int, int>(ints, i => - i);

            return(Tuple.Create(ints, sc));
        }
Beispiel #2
0
        public void RequeryOnSourceChange()
        {
            var list = new ThreadSafeBindableCollection <int>();

            list.AddRange(Enumerable.Range(1, 100));
            var filtered = new WhereCollection <int>(list, i => i % 2 == 0);

            Assert.Equal(50, filtered.Count);
            list.Add(3);
            Assert.Equal(50, filtered.Count);
            list.Add(4);
            Assert.Equal(51, filtered.Count);
        }
Beispiel #3
0
        public void SendPropertyChangeNotification()
        {
            var list = new ThreadSafeBindableCollection <int>();

            list.AddRange(Enumerable.Range(1, 100));
            var filtered = new WhereCollection <int>(list, i => i % 2 == 0);
            int ccFired  = 0;

            filtered.PropertyChanged += (s, e) =>
            {
                Assert.Equal(filtered, s);
                Assert.Equal("Count", e.PropertyName);
                ccFired++;
            };
            list.Add(4);
            Assert.Equal(1, ccFired);
        }
Beispiel #4
0
        public void SendListChangeNotification()
        {
            var list = new ThreadSafeBindableCollection <int>();

            list.AddRange(Enumerable.Range(1, 100));
            var filtered = new WhereCollection <int>(list, i => i % 2 == 0);
            int ccFired  = 0;

            filtered.CollectionChanged += (s, e) =>
            {
                Assert.Equal(filtered, s);
                Assert.Equal(NotifyCollectionChangedAction.Reset, e.Action);
                ccFired++;
            };
            list.Add(4);
            Assert.Equal(1, ccFired);
        }