public void get_patient_by_criteria()
        {
            var pacientes = Builder<Paciente>.CreateListOfSize(10)
                                   .TheFirst(2)
                                   .With(x => x.Nome = "temboel")
                                   .TheNext(4)
                                   .With(x => x.Nome = "temboel do ceu")

                                   .Build();

            var paciente = new Paciente(){Nome = "temboel"};

            var patients = pacientes.Where(pac => PacienteValido(pac));

            Assert.AreEqual(patients.Count(), 6);
        }
        public bool PacienteValido(Paciente paciente)
        {
            Predicate<Paciente> predicate1 = pac => pac.Nome.Contains("temboel");
              //            Predicate<Paciente> predicate2 = pac => pac.Nome.Contains("temboel do");

            IList<Predicate<Paciente>> predicates = new List<Predicate<Paciente>>();

            predicates.Add(predicate1);
              //          predicates.Add(predicate2);

            foreach (var item in predicates)
            {
                if (!item(paciente))
                    return false;
            }

            return true;
        }