public async Task Mediator_SendEmptyCommand_ShoulApplyValidations()
        {
            var command = new ValidatableCommand();

            var response = await _mediator.Send(command);

            Assert.True(response.HasErrors);
            Assert.Contains(response.Errors, w => w == "'Prop1' não pode ser nulo.");
            Assert.Contains(response.Errors, w => w == "'Prop2' não pode ser nulo.");

            command = new ValidatableCommand()
            {
                Prop1 = "123456",
                Prop2 = "1234567"
            };

            response = await _mediator.Send(command);

            Assert.True(response.HasErrors);
            Assert.Contains(response.Errors, w => w == "'Prop1' deve ser menor ou igual a 5 caracteres. Você digitou 6 caracteres.");
            Assert.Contains(response.Errors, w => w == "'Prop2' deve ser menor ou igual a 6 caracteres. Você digitou 7 caracteres.");

            command = new ValidatableCommand()
            {
                Prop1 = "12345",
                Prop2 = "123456"
            };

            response = await _mediator.Send(command);

            Assert.False(response.HasErrors);
        }
        public async Task Mediator_SendNullCommand_ShouldThrowsException()
        {
            ValidatableCommand command = null;

            await Assert.ThrowsAsync <NullRequestParameterException>(() => _mediator.Send(command));
        }