public static Action <DateTime, FluentValidation.Validators.CustomContext> Maior12(Resources <string> resources)
 {
     return((dataNascimento, context) =>
     {
         if (dataNascimento == default(DateTime) || dataNascimento == DateTime.MinValue)
         {
             context.AddFailure(new ValidationFailureCustom(null, null, new Erro(resources)));
             return;
         }
         var dataHj = DateTime.Now;
         var datadif = new DiferencaEntreDatas(dataHj, dataNascimento);
         if (datadif.Years < 12)
         {
             context.AddFailure(new ValidationFailureCustom(null, null, new Erro(resources)));
         }
     });
 }
        public void DataSqlValida()
        {
            //Arrange
            var  dataTest = new DateTime();
            var  dataHj   = DateTime.Now;
            var  idade    = new DateTime(1981, 7, 15);
            bool valida;


            // Act
            valida = dataTest.DataValidaSQL();
            var datadif = new DiferencaEntreDatas(dataHj, new DateTime(1981, 7, 15));

            //Assert
            Assert.False(valida);
            Assert.True(datadif.Years > 18);
            Assert.True(idade.DataValidaSQL());
        }
        /// <summary>
        /// data menor que 18 anos de menor
        /// </summary>
        /// <param name="resources"></param>
        /// <returns></returns>
        public static Action <DateTime, FluentValidation.Validators.CustomContext> Maior18(Resources <string> resources)
        {
            return((dataNascimento, context) =>
            {
                if (!dataNascimento.DataValidaSQL())
                {
                    context.AddFailure(new ValidationFailureCustom(null, null, new Erro(resources)));
                }
                else

                {
                    var dataHj = DateTime.Now;
                    var datadif = new DiferencaEntreDatas(dataHj, dataNascimento);
                    if (datadif.Years < 18)
                    {
                        context.AddFailure(new ValidationFailureCustom(null, null, new Erro(resources)));
                    }
                }
            });
        }