protected Screen(bool load = true, object loadContext = null) { _propChangeManager = PropertyChangeManagerBuilder.GetPropertyChangeManager(this); if (load) { Load(loadContext); } }
public void WhenStaticMethodIsSubscribed_ThenNotifiesSubscriber() { var foo = new Foo(); var manager = new PropertyChangeManager(foo); manager.SubscribeChanged((Expression <Func <Foo, object> >)(x => x.Name), (Action <Foo>)(OnStaticChanged)); Assert.Throws <InvalidOperationException>(() => manager.NotifyChanged <Foo>(x => x.Name)); }
public void WhenDisposingStaticSubscription_ThenDoesNotNotifySubscriber() { var foo = new Foo(); var manager = new PropertyChangeManager(foo); var subscription = manager.SubscribeChanged((Expression <Func <Foo, object> >)(x => x.Name), (Action <Foo>)(OnStaticChanged)); subscription.Dispose(); manager.NotifyChanged <Foo>(x => x.Name); }
public void WhenSubscriberIsAlive_ThenNotifiesSubscriber() { var notified = false; var foo = new Foo(); var manager = new PropertyChangeManager(foo); manager.SubscribeChanged((Expression <Func <Foo, object> >)(x => x.Name), (Action <Foo>)(f => notified = true)); manager.NotifyChanged <Foo>(x => x.Name); Assert.True(notified); }
public void WhenSubscriberIsAlive_ThenNotifiesSubscriber() { var notified = false; var foo = new Foo(); var manager = new PropertyChangeManager(foo); manager.SubscribeChanged((Expression<Func<Foo, object>>)(x => x.Name), (Action<Foo>)(f => notified = true)); manager.NotifyChanged<Foo>(x => x.Name); Assert.True(notified); }
public void WhenAddingPropertyChangedHandler_ThenNotifiesSubscriber() { var notified = false; var foo = new Foo(); var manager = new PropertyChangeManager(foo); PropertyChangedEventHandler handler = (sender, args) => notified = true; manager.AddHandler(handler); manager.NotifyChanged <Foo>(x => x.Name); Assert.True(notified); }
public void WhenAddingPropertyChangedHandler_ThenNotifiesSubscriber() { var notified = false; var foo = new Foo(); var manager = new PropertyChangeManager(foo); PropertyChangedEventHandler handler = (sender, args) => notified = true; manager.AddHandler(handler); manager.NotifyChanged<Foo>(x => x.Name); Assert.True(notified); }
public void WhenRemovingPropertyChangedHandler_ThenDoesNotNotifySubscriberAnymore() { var notified = false; var foo = new Foo(); var manager = new PropertyChangeManager(foo); PropertyChangedEventHandler handler = (sender, args) => notified = true; manager.AddHandler(handler); manager.RemoveHandler(handler); manager.NotifyChanged <Foo>(x => x.Name); Assert.False(notified); }
public void WhenRemovingPropertyChangedHandler_ThenDoesNotNotifySubscriberAnymore() { var notified = false; var foo = new Foo(); var manager = new PropertyChangeManager(foo); PropertyChangedEventHandler handler = (sender, args) => notified = true; manager.AddHandler(handler); manager.RemoveHandler(handler); manager.NotifyChanged<Foo>(x => x.Name); Assert.False(notified); }
public void WhenAddedPropertyChangedHandlerTargetIsNotAlive_ThenDoesNotNotify() { var foo = new Foo(); var manager = new PropertyChangeManager(foo); var subscriber = new TestSubscriber("Name", 1); manager.AddHandler(subscriber.PropertyChangedHandler); manager.NotifyChanged <Foo>(x => x.Name); Assert.Equal(1, subscriber.ActualCalls); subscriber = null; GC.Collect(); manager.NotifyChanged <Foo>(x => x.Name); }
public void WhenSubscriberIsNotAlive_ThenDoesNotNotifySubscriber() { var foo = new Foo(); var manager = new PropertyChangeManager(foo); var subscriber = new TestSubscriber("Name", 1); manager.SubscribeChanged((Expression <Func <Foo, object> >)(x => x.Name), (Action <Foo>)(subscriber.SubscriptionHandler)); manager.NotifyChanged <Foo>(x => x.Name); Assert.Equal(1, subscriber.ActualCalls); subscriber = null; GC.Collect(); manager.NotifyChanged <Foo>(x => x.Name); }
public void WhenSubscriptionIsDisposed_ThenDoesNotNotifySubscriber() { var foo = new Foo(); var manager = new PropertyChangeManager(foo); var subscriber = new TestSubscriber("Name", 1); var subscription = manager.SubscribeChanged((Expression<Func<Foo, object>>)(x => x.Name), (Action<Foo>)(subscriber.SubscriptionHandler)); manager.NotifyChanged<Foo>(x => x.Name); Assert.Equal(1, subscriber.ActualCalls); subscription.Dispose(); GC.Collect(); manager.NotifyChanged<Foo>(x => x.Name); }
public void WhenAddedPropertyChangedHandlerTargetIsNotAlive_ThenDoesNotNotify() { var foo = new Foo(); var manager = new PropertyChangeManager(foo); var subscriber = new TestSubscriber("Name", 1); manager.AddHandler(subscriber.PropertyChangedHandler); manager.NotifyChanged<Foo>(x => x.Name); Assert.Equal(1, subscriber.ActualCalls); subscriber = null; GC.Collect(); manager.NotifyChanged<Foo>(x => x.Name); }
public void WhenDisposingStaticSubscription_ThenDoesNotNotifySubscriber() { var foo = new Foo(); var manager = new PropertyChangeManager(foo); var subscription = manager.SubscribeChanged((Expression<Func<Foo, object>>)(x => x.Name), (Action<Foo>)(OnStaticChanged)); subscription.Dispose(); manager.NotifyChanged<Foo>(x => x.Name); }
public void WhenStaticMethodIsSubscribed_ThenNotifiesSubscriber() { var foo = new Foo(); var manager = new PropertyChangeManager(foo); manager.SubscribeChanged((Expression<Func<Foo, object>>)(x => x.Name), (Action<Foo>)(OnStaticChanged)); Assert.Throws<InvalidOperationException>(() => manager.NotifyChanged<Foo>(x => x.Name)); }
public DatabaseSettings() { UnknownItems = new Dictionary<string, string>(); this.propertyChanges = new PropertyChangeManager<DatabaseSettings>(this); }