Ejemplo n.º 1
0
        public void ReceiveEventAfterEventChanged()
        {
            var behavior = new BehaviorMock {
                EventName = "TestEventA"
            };
            var page = new PageMock();

            page.Behaviors.Add(behavior);


            // ChangeEvent
            behavior.EventName = "TestEventB";

            var eventArgs = new EventArgs();

            page.RiseTestEventA(this, eventArgs);
            Assert.Null(behavior.Sender);
            Assert.Null(behavior.EventArgs);

            page.RiseTestEventB(this, eventArgs);
            Assert.NotNull(behavior.Sender);
            Assert.Equal(this, behavior.Sender);
            Assert.NotNull(behavior.EventArgs);
            Assert.Equal(eventArgs, behavior.EventArgs);
        }
Ejemplo n.º 2
0
        public void ReceiveInteragtionRequest()
        {
            var request  = new NotificationRequest();
            var behavior = new BehaviorMock {
                NotificationRequest = request
            };
            var page = new PageMock();

            page.Behaviors.Add(behavior);

            request.Raise();

            Assert.NotNull(behavior.Sender);
            Assert.Equal(request, behavior.Sender);
            Assert.NotNull(behavior.EventArgs);
            Assert.Equal(EventArgs.Empty, behavior.EventArgs);

            behavior.Sender    = null;
            behavior.EventArgs = null;
            page.Behaviors.Clear();

            request.Raise();
            Assert.Null(behavior.Sender);
            Assert.Null(behavior.EventArgs);
        }
Ejemplo n.º 3
0
        public void ReceiveInteragtionRequestAfterInteractionRequestChanged()
        {
            var requestA = new NotificationRequest();
            var behavior = new BehaviorMock {
                NotificationRequest = requestA
            };
            var page = new PageMock();

            page.Behaviors.Add(behavior);

            var requestB = new NotificationRequest();

            behavior.NotificationRequest = requestB;

            requestA.Raise();
            Assert.Null(behavior.Sender);
            Assert.Null(behavior.EventArgs);

            requestB.Raise();

            Assert.NotNull(behavior.Sender);
            Assert.Equal(requestB, behavior.Sender);
            Assert.NotNull(behavior.EventArgs);
            Assert.Equal(EventArgs.Empty, behavior.EventArgs);
        }
Ejemplo n.º 4
0
        public void WhenNothingEventName()
        {
            var behavior = new BehaviorMock {
                EventName = "NothingEvent"
            };
            var page      = new PageMock();
            var exception = Assert.Throws <NotImplementedException>(() => page.Behaviors.Add(behavior));

            Assert.NotNull(exception);
        }
        public void FromAttachToDettach()
        {
            var page          = new ContentPage();
            var contextObject = new object();

            page.BindingContext = contextObject;

            var behavior = new BehaviorMock();

            page.Behaviors.Add(behavior);

            Assert.NotNull(behavior.BindingContext);
            Assert.Equal(contextObject, behavior.BindingContext);

            page.Behaviors.Clear();
            Assert.Null(behavior.BindingContext);
        }
        public void HasOriginalBindingContedt()
        {
            var page          = new ContentPage();
            var contextObject = new object();

            page.BindingContext = contextObject;

            var behavior = new BehaviorMock {
                BindingContext = new object()
            };

            page.Behaviors.Add(behavior);

            Assert.NotNull(behavior.BindingContext);
            Assert.NotEqual(contextObject, behavior.BindingContext);

            page.BindingContext = new object();
            Assert.NotEqual(page.BindingContext, behavior.BindingContext);


            page.Behaviors.Clear();
            Assert.Null(behavior.BindingContext);
        }
        public void ParentBindingContextChanged()
        {
            var page          = new ContentPage();
            var contextObject = new object();

            var behavior = new BehaviorMock();

            page.Behaviors.Add(behavior);

            Assert.Null(behavior.BindingContext);
            page.BindingContext = contextObject;

            Assert.NotNull(behavior.BindingContext);
            Assert.Equal(contextObject, behavior.BindingContext);

            page.BindingContext = null;
            Assert.Null(behavior.BindingContext);

            page.Behaviors.Clear();

            // Chech removed event handler
            page.BindingContext = new object();
            Assert.Null(behavior.BindingContext);
        }