public void SameHandlerIsOnlyAddedOnce() { var dispatcher = new RegistrationDispatcher(); var handler = new CountingCallsCommandHandler(); dispatcher.AddHandler(handler); dispatcher.AddHandler(handler); dispatcher.Dispatch(new EmptyCommand()); Assert.AreEqual(1, CountingCallsCommandHandler.Calls); }
private static IEnumerable <IDispatcher> CreateRegistrationDispatchersWithHandlers() { var registrationDispatcher = new RegistrationDispatcher(); registrationDispatcher.AddHandler(new CalledCommandHandler()); registrationDispatcher.AddHandler(new FirstAllHandlersCalledHandler()); registrationDispatcher.AddHandler(new SecondAllHandlersCalledHandler()); yield return(registrationDispatcher); var registrationDependencyDispatcher = new RegistrationDependencyDispatcher <string>("Foo"); registrationDependencyDispatcher.AddHandler(new CalledDependencyCommandHandler()); registrationDependencyDispatcher.AddHandler(new FirstAllDependencyHandlersCalledHandler()); registrationDependencyDispatcher.AddHandler(new FirstAllDependencyHandlersCalledHandler()); yield return(registrationDependencyDispatcher); }
public void AddHandlerThrowsIfArgumentIsNUll() { var dispatcher = new RegistrationDispatcher(); Assert.Throws <ArgumentNullException>(() => { dispatcher.AddHandler <object>(null); }); }