示例#1
0
        public void RegisteredHandlersAreInvoked()
        {
            ObservableThing thing = new ObservableThing();
            PropertyObserver<ObservableThing> target = new PropertyObserver<ObservableThing>(thing);
            bool wasInvoked = false;
            target.RegisterHandler(t => t.SomeProperty, t => wasInvoked = (t == thing));

            thing.SomeProperty = "whatever";

            Assert.IsTrue(wasInvoked);
        }
示例#2
0
        public void UnregisteredHandlersAreNotInvoked()
        {
            ObservableThing thing = new ObservableThing();
            PropertyObserver <ObservableThing> target = new PropertyObserver <ObservableThing>(thing);
            bool wasInvoked = false;

            target.RegisterHandler(t => t.SomeProperty, t => wasInvoked = true);
            target.UnregisterHandler(t => t.SomeProperty);
            thing.SomeProperty = "whatever";

            Assert.IsFalse(wasInvoked);
        }