public void can_update_availability()
        {
            var trigger = new GestureMessageTrigger
            {
                Modifiers = ModifierKeys.Alt,
                Key       = Key.S,
                Message   = message
            };

            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);
        }
        public void represents_availability_consistently_through_ICommand_for_non_disable_availability_when_available()
        {
            message = new FakeMessage {
                AvailabilityEffect = AvailabilityEffect.Hide
            };

            var trigger = new GestureMessageTrigger
            {
                Modifiers = ModifierKeys.Alt,
                Key       = Key.S,
                Message   = message
            };

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


            trigger.Attach(node);
            trigger.UpdateAvailabilty(true);

            element.IsEnabled.ShouldBeTrue();
        }
        public void represents_availability_consistently_through_ICommand_for_non_disable_availability_when_available()
        {
            _message = new FakeMessage {AvailabilityEffect = AvailabilityEffect.Hide};

            var trigger = new GestureMessageTrigger
            {
                Modifiers = ModifierKeys.Alt,
                Key = Key.S,
                Message = _message
            };

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


            trigger.Attach(_node);
            trigger.UpdateAvailabilty(true);

            Assert.That(_element.IsEnabled);
        }
        public void can_update_availability()
        {
            var trigger = new GestureMessageTrigger
            {
                Modifiers = ModifierKeys.Alt,
                Key = Key.S,
                Message = _message
            };

            _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);
        }