public void When_adding_item_by_initialize_then_change_tracking_should_work()
        {
            //// Arrange
            var source = new MtObservableCollection <SampleClass>
            {
                new SampleClass {
                    First = "a", Last = "b"
                },
                new SampleClass {
                    First = "a", Last = "b"
                },
                new SampleClass {
                    First = "b", Last = "c"
                },
                new SampleClass {
                    First = "b", Last = "c"
                },
            };

            //// Act
            var view = new ObservableCollectionView <SampleClass>(source);

            view.TrackItemChanges = true;
            view.Filter           = c => c.First == "a";

            var item = new SampleClass {
                First = "b", Last = "c"
            };
            var copy = source.ToList();

            copy.Add(item);

            source.Initialize(copy);

            item.First = "a";

            //// Assert
            Assert.AreEqual(3, view.Count);
        }
        public void When_adding_item_then_change_tracking_should_work()
        {
            //// Arrange
            var source = new ObservableCollection<SampleClass>
            {
                new SampleClass {First = "a", Last = "b"},
                new SampleClass {First = "a", Last = "b"},
                new SampleClass {First = "b", Last = "c"},
                new SampleClass {First = "b", Last = "c"},
            };

            //// Act
            var view = new ObservableCollectionView<SampleClass>(source);
            view.TrackItemChanges = true;
            view.Filter = c => c.First == "a";

            var item = new SampleClass { First = "b", Last = "c" };
            source.Add(item);

            item.First = "a";

            //// Assert
            Assert.AreEqual(3, view.Count);
        }