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(); }
public void ManagerShouldObserveExplicitDataContext() { bool isInvoked = false; var o = new object(); var context = new ExplicitDataContext { DataContext = o }; var providerMock = new ObserverProviderMock(); var manager = CreateContextManager(observerProvider: providerMock); providerMock.Observe = (o1, path, arg3) => { o1.ShouldEqual(context); path.Path.ShouldEqual(AttachedMemberConstants.DataContext); arg3.ShouldBeTrue(); isInvoked = true; return(new ObserverMock()); }; manager.GetBindingContext(context); isInvoked.ShouldBeTrue(); }