예제 #1
0
        static void Main(string[] args)
        {
            var pessoas = new List <Pessoa>()
            {
                new Pessoa("João", 15),
                new Pessoa("Leandro", 21),
                new Pessoa("Paulo", 17),
                new Pessoa("Jessica", 18),
            };
            Pessoa pessoaMaisVelha = PessoaHelper.GetPessoaMaisVelha(pessoas);

            System.Console.WriteLine($"A pessoa mais velha, é a(o) {pessoaMaisVelha.nome}, com {pessoaMaisVelha.idade} anos");

            System.Console.WriteLine($"Total de pessoas: {pessoas.Count}");

            var           idadeMinima    = 18;
            List <Pessoa> maioresDeIdade = PessoaHelper.FiltrarPorIdadeMinima(pessoas, idadeMinima);

            System.Console.WriteLine($"Total de pessoas com idade superior, ou igual à {idadeMinima} anos: {maioresDeIdade.Count}");

            var           nomePraEncontrar          = "jessica";
            List <Pessoa> pessoasComDeterminadoNome = PessoaHelper.BuscarPorNome(pessoas, nomePraEncontrar);

            if (pessoasComDeterminadoNome != null && pessoasComDeterminadoNome.Count != 0)
            {
                foreach (Pessoa pessoa in pessoasComDeterminadoNome)
                {
                    System.Console.WriteLine($"A {pessoa.nome}, possui {pessoa.idade} anos!");
                }
            }
            else
            {
                System.Console.WriteLine($"Não existe nenhuma pessoa com nome {nomePraEncontrar}, na lista!");
            }
        }
예제 #2
0
        public void BuscarPorNome__deve_retornar_apenas_quem_tem_nome_igual_a(string nome, List <string> nomesEsperados)
        {
            var pessoasFiltradas = PessoaHelper.BuscarPorNome(pessoas, nome);
            var nomesEncontrados = pessoasFiltradas.Select(x => x.nome).ToList();

            Assert.Equal(expected: nomesEsperados.Count, actual: nomesEncontrados.Count);
            Assert.False(nomesEncontrados.Except(nomesEsperados).Any());
        }
예제 #3
0
        public void FiltrarPorIdadeMinima__deve_retornar_apenas_quem_tem_idade_maior_ou_igual_a(int idade, List <string> nomesEsperados)
        {
            var pessoasFiltradas = PessoaHelper.FiltrarPorIdadeMinima(pessoas, idade);
            var nomesEncontrados = pessoasFiltradas.Select(x => x.nome).ToList();

            Assert.Equal(expected: nomesEsperados.Count, actual: nomesEncontrados.Count);
            Assert.False(nomesEncontrados.Except(nomesEsperados).Any());
        }
예제 #4
0
 public void BuscarPorNome__deve_retornar_erro__quando_nome_estiver_vazio()
 {
     Assert.Throws <ArgumentException>(() => PessoaHelper.BuscarPorNome(pessoas, ""));
 }
예제 #5
0
 public void FiltrarPorIdadeMinima__deve_retornar_erro__quando_idade_estiver_invalida(int idadeInvalida)
 {
     Assert.Throws <ArgumentException>(() => PessoaHelper.FiltrarPorIdadeMinima(pessoas, idadeInvalida));
 }
예제 #6
0
        public void GetPessoaMaisVelha__deve_retornar_a_pessoa_com_mais_idade()
        {
            var pessoaMaisVelha = PessoaHelper.GetPessoaMaisVelha(pessoas);

            Assert.Equal(expected: "Maria Jose", actual: pessoaMaisVelha.nome);
        }