Пример #1
0
        public void SuppressNotificationExpression()
        {
            var counter = 0;
            var vm      = new TestVM();

            vm.PropertyChanged += (s, a) => counter++;

            // initial value
            vm.MyProperty = 0;
            counter       = 0;

            vm.MyProperty = 42;
            Assert.AreEqual(1, counter, "PropertyChanged was not raised, ViewModel is broken.");

            vm.SuppressNotifications(() => vm.MyProperty);

            vm.MyProperty = 21;
            Assert.AreEqual(1, counter, "PropertyChanged was raised after SuppressNotifications.");
        }
Пример #2
0
        public void RestoreNotificationExpression()
        {
            var counter = 0;
            var vm      = new TestVM();

            vm.PropertyChanged += (s, a) => counter++;

            vm.SuppressNotifications(() => vm.MyProperty);

            // initial value
            vm.MyProperty = 0;
            counter       = 0;

            vm.MyProperty = 42;
            Assert.AreEqual(0, counter, "PropertyChanged was raised after SuppressNotifications.");

            vm.RestoreNotifications(() => vm.MyProperty);
            Assert.AreEqual(1, counter, "PropertyChanged was not raised after RestoreNotifications");
        }
Пример #3
0
        public void SuppressNotificationExpression_Fail()
        {
            var vm = new TestVM();

            vm.SuppressNotifications(() => 42);
        }