public void throws_exception_if_attempt_to_attach_to_non_UIElement()
        {
            var trigger = new AttachedEventMessageTrigger
            {
                Message = _message,
                RoutedEvent = FakeElement.RoutedEvent
            };

            _node.Expect(x => x.UIElement).Return(new DependencyObject()).Repeat.Twice();


            trigger.Attach(_node);
        }
Example #2
0
        public void throws_exception_if_attempt_to_attach_to_non_UIElement()
        {
            Assert.Throws <CaliburnException>(() => {
                var trigger = new AttachedEventMessageTrigger {
                    Message     = message,
                    RoutedEvent = FakeElement.RoutedEvent
                };

                node.Expect(x => x.UIElement).Return(new DependencyObject()).Repeat.Twice();


                trigger.Attach(node);
            });
        }
        public void can_trigger_message_processing()
        {
            var trigger = new AttachedEventMessageTrigger
            {
                Message = _message,
                RoutedEvent = FakeElement.RoutedEvent
            };

            var args = new RoutedEventArgs(FakeElement.RoutedEvent, _element);

            _node.Expect(x => x.UIElement).Return(_element);
            _node.Expect(x => x.ProcessMessage(Arg<IRoutedMessage>.Is.Equal(_message), Arg<EventArgs>.Is.Equal(args)));


            trigger.Attach(_node);
            _element.RaiseEvent(args);
        }
        public void can_attach_itself_to_an_element()
        {
            var trigger = new AttachedEventMessageTrigger
            {
                Message = _message,
                RoutedEvent = FakeElement.RoutedEvent
            };

            _node.Expect(x => x.UIElement).Return(_element);


            trigger.Attach(_node);

            Assert.That(trigger.Node, Is.EqualTo(_node));
            Assert.That(_message.InvalidatedHandler, Is.Not.Null);
            Assert.That(_message.InitializeCalledWith, Is.EqualTo(_node));
        }
Example #5
0
        public void can_update_availability()
        {
            var trigger = new AttachedEventMessageTrigger
            {
                Message     = message,
                RoutedEvent = FakeElement.RoutedEvent
            };

            node.Expect(x => x.UIElement).Return(element);

            node.Expect(x => x.UIElement).Return(element);
            message.AvailabilityEffect.Expect(x => x.ApplyTo(element, false));


            trigger.Attach(node);
            trigger.UpdateAvailabilty(false);
        }
Example #6
0
        public void can_trigger_message_processing()
        {
            var trigger = new AttachedEventMessageTrigger
            {
                Message     = message,
                RoutedEvent = FakeElement.RoutedEvent
            };

            var args = new RoutedEventArgs(FakeElement.RoutedEvent, element);

            node.Expect(x => x.UIElement).Return(element);
            node.Expect(x => x.ProcessMessage(Arg <IRoutedMessage> .Is.Equal(message), Arg <EventArgs> .Is.Equal(args)));


            trigger.Attach(node);
            element.RaiseEvent(args);
        }
Example #7
0
        public void can_attach_itself_to_an_element()
        {
            var trigger = new AttachedEventMessageTrigger
            {
                Message     = message,
                RoutedEvent = FakeElement.RoutedEvent
            };

            node.Expect(x => x.UIElement).Return(element);


            trigger.Attach(node);

            trigger.Node.ShouldBe(node);
            message.InvalidatedHandler.ShouldNotBeNull();
            message.InitializeCalledWith.ShouldBe(node);
        }
        public void can_update_availability()
        {
            var trigger = new AttachedEventMessageTrigger
            {
                Message = _message,
                RoutedEvent = FakeElement.RoutedEvent
            };

            _node.Expect(x => x.UIElement).Return(_element);

            _node.Expect(x => x.UIElement).Return(_element);
            _message.AvailabilityEffect.Expect(x => x.ApplyTo(_element, false));


            trigger.Attach(_node);
            trigger.UpdateAvailabilty(false);
        }