public async Task Commands_CanHandleCommandThatFiresOtherCommandsWithANestedError()
{
// Arrange
var handlerFactory = new MessageHandlerRegistry();
var mediator = new Mediator(handlerFactory.MultiInstanceFactory, handlerFactory.SingleInstanceFactory);
handlerFactory.AddHandlersForCommandOrQuery<ICommandHandler<TestCommandWithResult>>(new TestCommandWithResultHandler(mediator));
handlerFactory.AddHandlersForCommandOrQuery<ICommandHandler<TestMultipleCommandWithResult>>(new TestMultipleCommandHandlerWithResult(mediator));
// Act
var result = await mediator.Send(new TestMultipleCommandWithResult { Name = "bar", Id = 999 });
// Assert
Assert.IsTrue(result.Result<TestCommandResult>() == null && result.ValidationResults.Any());
}