public async Task Commands_CanHandleCommandWithAReturnValue()
{
// Arrange
var handlerFactory = new MessageHandlerRegistry();
var mediator = new Mediator(handlerFactory.MultiInstanceFactory, handlerFactory.SingleInstanceFactory);
handlerFactory.AddHandlersForCommandOrQuery<ICommandHandler<TestCommandWithResult>>(new TestCommandWithResultHandler(mediator));
// Act
var result = await mediator.Send(new TestCommandWithResult { Id = 1 });
// Assert
Assert.IsTrue(result.Result<TestCommandResult>().ResultingValue == 5);
}