public void ObserverShouldRaiseValueChangedEventWhenPropertyChangedUsingEvent() { bool isInvoked = false; var model = new BindingSourceEventNotifierModel(); var propertyName = GetMemberPath<BindingSourceEventNotifierModel>(sourceModel => sourceModel.ObjectProperty); var observer = CreateObserver(model, propertyName, false); observer.ValueChanged += (sender, args) => isInvoked = true; isInvoked = false; model.ObjectProperty = "test"; model.RaiseObjectPropertyChanged(); isInvoked.ShouldBeTrue(); isInvoked = false; model.ObjectProperty = "test1"; isInvoked.ShouldBeFalse(); }