1
resposta

Ta feito

 static void Main(string[] args)
        {
            string cpf = "86288366757";
            ValidarCPF(cpf);

            string cnpj = "51241758000152";
            ValidarCNPJ(cnpj);

            string titulo = "041372570132";
            ValidarTitulo(titulo);
        }
private static void ValidarTitulo(string titulo)
        {
            if (new TituloEleitoralValidator().IsValid(titulo))
            {
                Debug.WriteLine($"Titulo válido : {titulo}");
            }
            else
            {
                Debug.WriteLine($"Titulo inválido : {titulo}");
            }

        }

        private static void ValidarCNPJ(string cnpj)
        {
            if (new CNPJValidator().IsValid(cnpj))
            {
                Debug.WriteLine($"CNPJ válido : {cnpj}");
            }
            else
            {
                Debug.WriteLine($"CNPJ inválido : {cnpj}");
            }


        }

        private static void ValidarCPF(string cpf)
        {
            if (new CPFValidator().IsValid(cpf))
            {    
                Debug.WriteLine($"CPF válido: {cpf}");
            }
            else
            {
                Debug.WriteLine($"CPF inválido: {cpf}");

            }
        }
1 resposta

Olá Nilton, tudo certo?

Excelente código.

Por questões de prática e teste, fiz a utilização do try/catch em alguns pontos, só para diferenciar um pouco da aula. Veja:

private static void ValidarTitulo(string titulo)
        {
            try
            {
                //Por retornar um void, a melhor forma de válidar seria por try/catch
                new TituloEleitoralValidator().AssertValid(titulo);
                Console.WriteLine($"Título válido: {new TituloEleitoralFormatter().Format(titulo)}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Título inválido: {titulo} : {ex}");
            }
        }

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software