public void SourceShouldRaiseValueChangedWhenObserverRaisesValueChanged()
        {
            bool isInvoked = false;
            var mock = new ObserverMock();
            BindingSource target = CreateBindingSource(mock);

            target.ValueChanged += (sender, args) => isInvoked = true;
            isInvoked.ShouldBeFalse();
            mock.RaiseValueChanged();
            isInvoked.ShouldBeTrue();
        }
 public void ManagerShouldRaiseEventWhenObserverValueChanged()
 {
     bool isInvoked = false;
     var o = new object();
     var context = new ExplicitDataContext { DataContext = o };
     var providerMock = new ObserverProviderMock();
     var observerMock = new ObserverMock();
     var manager = CreateContextManager(observerProvider: providerMock);
     providerMock.Observe = (o1, path, arg3) => observerMock;
     var bindingContext = manager.GetBindingContext(context);
     bindingContext.ValueChanged += (sender, args) => isInvoked = true;
     isInvoked.ShouldBeFalse();
     observerMock.RaiseValueChanged();
     isInvoked.ShouldBeTrue();
 }