public void RegisterCallbackAddsCallbackToStore() { Action <TestEvent> handler = x => { }; DomainEvent.RegisterCallback(handler); Assert.That(DomainEvent.CallbackStore.Callbacks, Has.Member(handler)); }
public void RaiseEventShouldCallAllRegisteredCallbacks() { bool called = false; Action <TestEvent> handler = x => called = true; DomainEvent.RegisterCallback(handler); DomainEvent.Raise(new TestEvent()); Assert.That(called, Is.EqualTo(true)); }
public void Can_use_disposable_pattern() { Action <TestEvent> handler = x => { }; using (DomainEvent.RegisterCallback(handler)) { Assert.That(DomainEvent.CallbackStore.Callbacks, Has.Member(handler)); } Assert.That(DomainEvent.CallbackStore.Callbacks, Has.No.Member(handler)); }
public void ClearCallbacksShouldRemoveAllCallbacksFromStore() { Action <TestEvent> handler = x => { }; DomainEvent.RegisterCallback(handler); Assert.That(DomainEvent.CallbackStore.Callbacks, Has.Member(handler)); DomainEvent.ClearCallbacks(); Assert.That(DomainEvent.CallbackStore.Callbacks, Is.Empty); }
public void UnRegisterCallbackShouldRemoveCallbackFromStore() { Action <TestEvent> handler = x => { }; DomainEvent.RegisterCallback(handler); Assert.That(DomainEvent.CallbackStore.Callbacks, Has.Member(handler)); DomainEvent.UnregisterCallback(handler); Assert.That(DomainEvent.CallbackStore.Callbacks, Has.No.Member(handler)); }
public void callbacks_are_cleared_when_clear_is_called() { ServiceLocator.SetLocatorProvider(() => MockRepository.GenerateStub <IServiceLocator>()); var mockTestEvent1Handler = MockRepository.GenerateMock <Handles <TestEvent1> >(); var mockTestEvent2Handler = MockRepository.GenerateMock <Handles <TestEvent2> >(); DomainEvent.RegisterCallback <TestEvent1>(mockTestEvent1Handler.Handle); DomainEvent.RegisterCallback <TestEvent2>(mockTestEvent2Handler.Handle); var callbacksListFromStorage = Store.Local.Get <IList <Delegate> >(typeof(DomainEvent).FullName + "_Callbacks"); Assert.That(callbacksListFromStorage, Is.Not.Null); Assert.That(callbacksListFromStorage.Count, Is.EqualTo(2)); DomainEvent.ClearCallbacks(); callbacksListFromStorage = Store.Local.Get <IList <Delegate> >(typeof(DomainEvent).FullName + "_Callbacks"); Assert.That(callbacksListFromStorage, Is.Null); }
public void registered_callbacks_are_called_when_event_is_raised() { ServiceLocator.SetLocatorProvider(() => MockRepository.GenerateStub <IServiceLocator>()); var mockTestEvent1Handler = MockRepository.GenerateMock <Handles <TestEvent1> >(); var mockTestEvent2Handler = MockRepository.GenerateMock <Handles <TestEvent2> >(); DomainEvent.RegisterCallback <TestEvent1>(mockTestEvent1Handler.Handle); DomainEvent.RegisterCallback <TestEvent2>(mockTestEvent2Handler.Handle); var callbacksListFromStorage = Store.Local.Get <IList <Delegate> >(typeof(DomainEvent).FullName + "_Callbacks"); Assert.That(callbacksListFromStorage, Is.Not.Null); Assert.That(callbacksListFromStorage.Count, Is.EqualTo(2)); DomainEvent.Raise(new TestEvent1()); mockTestEvent1Handler.AssertWasCalled(x => x.Handle(null), options => options.IgnoreArguments()); mockTestEvent2Handler.AssertWasNotCalled(x => x.Handle(null), options => options.IgnoreArguments()); }
public void callbacks_are_cleared_when_clear_is_called() { var state = new FakeState(); var locator = MockRepository.GenerateStub <IServiceLocator>(); locator.Stub(x => x.GetInstance <IState>()).Return(state); ServiceLocator.SetLocatorProvider(() => locator); var mockTestEvent1Handler = MockRepository.GenerateMock <Handles <TestEvent1> >(); var mockTestEvent2Handler = MockRepository.GenerateMock <Handles <TestEvent2> >(); DomainEvent.RegisterCallback <TestEvent1>(mockTestEvent1Handler.Handle); DomainEvent.RegisterCallback <TestEvent2>(mockTestEvent2Handler.Handle); var callbacksListFromStorage = state.Local.Get <IList <Delegate> >("DomainEvent.Callbacks"); Assert.That(callbacksListFromStorage, Is.Not.Null); Assert.That(callbacksListFromStorage.Count, Is.EqualTo(2)); DomainEvent.ClearCallbacks(); callbacksListFromStorage = state.Local.Get <IList <Delegate> >(typeof(DomainEvent).FullName + "DomainEvent.Callbacks"); Assert.That(callbacksListFromStorage, Is.Null); }
public void registered_callbacks_are_called_when_event_is_raised() { var state = new FakeState(); var locator = MockRepository.GenerateStub <IServiceLocator>(); locator.Stub(x => x.GetInstance <IState>()).Return(state); ServiceLocator.SetLocatorProvider(() => locator); var mockTestEvent1Handler = MockRepository.GenerateMock <Handles <TestEvent1> >(); var mockTestEvent2Handler = MockRepository.GenerateMock <Handles <TestEvent2> >(); DomainEvent.RegisterCallback <TestEvent1>(mockTestEvent1Handler.Handle); DomainEvent.RegisterCallback <TestEvent2>(mockTestEvent2Handler.Handle); var callbacksListFromStorage = state.Local.Get <IList <Delegate> >("DomainEvent.Callbacks"); Assert.That(callbacksListFromStorage, Is.Not.Null); Assert.That(callbacksListFromStorage.Count, Is.EqualTo(2)); DomainEvent.Raise(new TestEvent1()); mockTestEvent1Handler.AssertWasCalled(x => x.Handle(null), options => options.IgnoreArguments()); mockTestEvent2Handler.AssertWasNotCalled(x => x.Handle(null), options => options.IgnoreArguments()); }