예제 #1
0
        public Pessoa(string nome, string cpf, string dataDeNascimento, int codigoCidade)
        {
            var partesData = dataDeNascimento.Split('-');
            var data       = new DateTime(Convert.ToInt32(partesData[0]), Convert.ToInt32(partesData[1]), Convert.ToInt32(partesData[2]));

            if (!CPF.EhValido(cpf))
            {
                throw new Exception("Cpf inválido");
            }

            if (DateTime.Now < data)
            {
                throw new Exception("Data de nascimento inválida");
            }

            if (string.IsNullOrEmpty(nome))
            {
                throw new Exception();
            }

            Nome             = nome;
            Cidade           = EnumeradorSeguroDeUF.ObtenhaCidadePorId(codigoCidade);
            CPF              = new CPF(cpf);
            DataDeNascimento = data;
        }
예제 #2
0
        public void Quando_CpfForInvalido_Retorna_Falso(string val)
        {
            //Arrange
            var cpf = new CPF(val);

            //Act
            var result = cpf.EhValido();

            //Assert
            Assert.That(result, Is.False);
        }
예제 #3
0
        public void Quando_CpfForValido_Retorna_Verdadeiro(string val)
        {
            //Arrange
            var cpf = new CPF(val);

            //Act
            var result = cpf.EhValido();

            //Assert
            Assert.That(result, Is.True);
        }
예제 #4
0
        public void Deve_Retornar_False_Para_Cpf_Invalido(string cpfNumero)
        {
            // Arrange
            var cpf = new CPF(cpfNumero);

            // Act
            var resultado = cpf.EhValido();

            // Assert
            Assert.False(resultado);
        }
예제 #5
0
        public bool AtribuirCpf(string cpfNumero)
        {
            var cpf = new CPF(cpfNumero);

            if (!cpf.EhValido())
            {
                return(false);
            }

            this.Cpf = cpf;
            return(true);
        }