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); }
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); }