public void RegisteredPostInterceptorGetsCalled() { var wasCalled = false; NotifyPropertyChangedCore.RegisterPostInterceptor((sender, e) => wasCalled = true); try { var unitUnderTest = new NotificationOnlyDummy(); unitUnderTest.NotificationOnlyProperty = 42; Assert.IsTrue(wasCalled); } finally { NotifyPropertyChangedCore.ClearInterceptors(); } }
public void PostSetInterceptorUsesUnitUnderTestAsSender() { var unitUnderTest = CreateUnitUnderTest(); bool senderIsUnitUnderTest = false; NotifyPropertyChangedCore.RegisterPostInterceptor((sender, e) => senderIsUnitUnderTest = object.ReferenceEquals(sender, unitUnderTest)); try { unitUnderTest.ChangeAwareNotificationProperty = 42; Assert.IsTrue(senderIsUnitUnderTest); } finally { NotifyPropertyChangedCore.ClearInterceptors(); } }
public void StaticPostInterceptorsAreCalledBeforeInstancePostInterceptors() { var wasCalled = false; try { NotifyPropertyChangedCore.RegisterPostInterceptor((sender, e) => wasCalled = true); var unitUnderTest = new NotificationOnlyDummy(); var interceptable = (IPropertyInterceptor)unitUnderTest; var staticWasCalledBeforeInstance = false; interceptable.PostSet += (sender, e) => staticWasCalledBeforeInstance = wasCalled; unitUnderTest.NotificationOnlyProperty = 42; Assert.IsTrue(staticWasCalledBeforeInstance); } finally { NotifyPropertyChangedCore.ClearInterceptors(); } }