示例#1
0
        public void Raise_EmptyRegistratinList_NoHandling()
        {
            var  subject = new EventChainSubject();
            var  args    = new ChainedEventArgs();
            bool result  = subject.OnChainedEvent(args);

            Assert.That(result, Is.False);
            Assert.That(args.Handled, Is.False);
        }
示例#2
0
        public void Raise_ExternalClassEvent_HandledBySecond_NoFurtherCallbackExecuted()
        {
            int numberOfHandlersExecuted = 0;

            var subject = new EventChainSubject();

            subject.Event += (sender, e) => numberOfHandlersExecuted++;
            subject.Event += (sender, e) =>
            {
                numberOfHandlersExecuted++;
                e.Handled = true;
            };
            subject.Event += (sender, e) => numberOfHandlersExecuted++;

            var  args   = new ChainedEventArgs();
            bool result = subject.OnChainedEvent(args);

            Assert.That(result, Is.True);
            Assert.That(args.Handled, Is.True);
            Assert.That(numberOfHandlersExecuted, Is.EqualTo(2));
        }