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