예제 #1
0
        public void PropertyOnCollectionChangedIsPropagated()
        {
            bool eventHandlerInvoked = false;
            var  collection          = new ProperObservableCollection <Giraffe>();

            collection.Bind(nameof(Giraffe.Property), (sender, e) =>
            {
                eventHandlerInvoked = true;
            });
            collection.Add(new Giraffe());

            Assert.IsFalse(eventHandlerInvoked);
            collection[0].Property = 0;
            Assert.IsFalse(eventHandlerInvoked);
            collection[0].Property2 = 1;
            Assert.IsFalse(eventHandlerInvoked);
            collection[0].Property = 1;
            Assert.IsTrue(eventHandlerInvoked);
        }
예제 #2
0
        public void PropertyOnCollectionChangedIsNotPropagatedIfRemoved()
        {
            //Arrange
            bool eventHandlerInvoked = false;
            var  collection          = new ProperObservableCollection <Giraffe>();

            collection.Bind(nameof(Giraffe.Property), (sender, e) =>
            {
                eventHandlerInvoked = true;
            });
            var giraffe = new Giraffe();

            collection.Add(giraffe);

            //Act
            collection.Remove(giraffe);
            giraffe.Property = 1;

            //Assert
            Assert.IsFalse(eventHandlerInvoked);
        }