public void ValidarReglaEdadContratoCOR()
        {
            var listaContratos = DatosPruebaContrato.ContratoCOR();
            var listaReglas    = DatosPruebaRegla.ReglaEdad1Prep();

            try
            {
                var gestor = new GestorReglaContrato <Contrato>(listaReglas, listaContratos);
                var listaContratosRespuesta = gestor.AplicarReglasContratoCobertura(out var mensajes);
                Assert.IsTrue(mensajes.Count == 0);
                Assert.IsTrue(listaContratosRespuesta[0].Beneficiarios.Where(b => b.Edad >= 18).ToList().TrueForAll(b => b.Observaciones.Equals("Producto corporativo")));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        public void ValidarReglaSuperaDeducible()
        {
            var listaContratos = DatosPruebaContrato.ContratoCOR();
            var listaReglas    = DatosPruebaRegla.ReglaSuperaDeducible();

            try
            {
                var gestor = new GestorReglaContrato <Contrato>(listaReglas, listaContratos);
                var listaContratosRespuesta = gestor.AplicarReglasContratoCobertura(out var mensajes);
                var beneficiario            = listaContratosRespuesta[0].Beneficiarios.First(b => b.NumeroPersona == 692540);

                Assert.IsNotNull(beneficiario);
                Assert.AreEqual(mensajes.Count, 0);
                Assert.AreEqual(beneficiario.BeneficiosPlan.First(bp => bp.CodigoBeneficio == "A002").Valor, 12);
                Assert.IsTrue(beneficiario.BeneficiosPlan.Where(bp => bp.EsPorcentaje).ToList().TrueForAll(bp => !bp.Credito));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }