Example #1
0
        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();
        }
Example #2
0
        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();
        }