public void ObserverShouldNotRaiseValueChangedEventWhenPropertyChangedComplexPropertyUsingEventObservableFalse()
        {
            bool isInvoked    = false;
            var  model        = new BindingSourceEventNotifierModel();
            var  propertyName = GetMemberPath(model, sourceModel => sourceModel.NestedModel.ObjectProperty);

            var observer = CreateObserver(model, propertyName, false, observable: false);

            observer.ValueChanged += (sender, args) => isInvoked = true;

            isInvoked         = false;
            model.NestedModel = new BindingSourceEventNotifierModel();
            model.RaiseNestedModelChanged();
            isInvoked.ShouldBeFalse();

            isInvoked = false;
            model.NestedModel.ObjectProperty = "test";
            model.NestedModel.RaiseObjectPropertyChanged();
            isInvoked.ShouldBeFalse();
            isInvoked = false;

            model.NestedModel.ObjectProperty = 10;
            isInvoked.ShouldBeFalse();
        }