Exemple #1
0
        public void EventRaiser_ShouldRaiseEvent_OnlyOnce()
        {
            int countOne = 0;
            int countTwo = 0;

            IWithEvent mock = MockRepository.Mock <IWithEvent>();

            mock.SetUnexpectedBehavior(UnexpectedCallBehaviors.BaseOrDefault);

            mock.ExpectEvent(x => x.Load += null)
            .IgnoreArguments();

            mock.Load += delegate { countOne++; };
            mock.Load += delegate { countTwo++; };

            mock.Raise(x => x.Load += null, EventArgs.Empty);
            Assert.Equal(1, countOne);
            Assert.Equal(1, countTwo);

            mock.Raise(x => x.Load += null, EventArgs.Empty);
            Assert.Equal(2, countOne);
            Assert.Equal(2, countTwo);

            mock.Raise(x => x.Load += null, EventArgs.Empty);
            Assert.Equal(3, countOne);
            Assert.Equal(3, countTwo);
        }
        public void VerifyingThatEventWasAttached()
        {
            IWithEvent events = MockRepository.Mock <IWithEvent>();

            events.ExpectEvent(x => x.Load += null)
            .IgnoreArguments();

            EventConsumer consumerMock = new EventConsumer(events);

            //Next line invokes Load event.
            events.Raise(x => x.Load += null, EventArgs.Empty);

            Assert.True(consumerMock.OnLoadCalled);
            events.VerifyAllExpectations();
        }