public void WhenEventIsRaised_ShouldExecuteTriggerActions()
        {
            InteractionRequest <INotification> request = new InteractionRequest <INotification>();
            TestableInteractionRequestTrigger  trigger = new TestableInteractionRequestTrigger();
            DependencyObject      associatedObject     = new DependencyObject();
            TestableTriggerAction action = new TestableTriggerAction();

            trigger.Actions.Add(action);
            trigger.Attach(associatedObject);
            trigger.SourceObject = request;

            Assert.IsTrue(action.ExecutionCount == 0);

            request.Raise(new Notification());
            Assert.IsTrue(action.ExecutionCount == 1);
        }
Example #2
0
        public async Task WhenEventIsRaisedAsync_NotificationIsPassedBackAsync()
        {
            var request          = new InteractionRequest <INotification>();
            var trigger          = new TestableInteractionRequestTrigger();
            var associatedObject = new DependencyObject();
            var action           = new TestableTriggerAction();
            var notification     = new Notification();

            trigger.Actions.Add(action);
            trigger.Attach(associatedObject);
            trigger.SourceObject = request;

            Assert.IsTrue(action.ExecutionCount == 0);

            var result = await request.RaiseAsync(notification);

            Assert.IsTrue(action.ExecutionCount == 1);
            Assert.ReferenceEquals(notification, result);
        }