public void ObterMetodos()
 {
     var pessoafisica = new Fisica();
       Int32 atual = pessoafisica.GetType().GetMethods().Count();
       const int esperado = 21;
       Assert.AreEqual(esperado, atual);
 }
 public void ObterAtributos()
 {
     var pessoafisica = new Fisica();
       Int32 atual = pessoafisica.GetType().GetProperties().Count();
       const int esperado = 8;
       Assert.AreEqual(esperado, atual);
 }
 public void Alterar(Fisica pPessoaFisica)
 {
     Fisica pessoafisica = ObterCPF(pPessoaFisica.CPF);
     if (pessoafisica != null)
     {
         PropertyInfo[] campos = pessoafisica.GetType().GetProperties();
         foreach (PropertyInfo campo in campos)
         {
             if (campo.CanWrite)
                 campo.SetValue(pessoafisica, pPessoaFisica.GetType().GetProperty(campo.Name).GetValue(pPessoaFisica, null), null);
         }
     }
     else
         throw new ExPessoaNaoEncontrado("Não possível encontrar o cliente cadastrado. ");
 }
        public void AtribuirValorEmNome()
        {
            var pessoafisica = new Fisica();
              const string esperado = "Marcela";
              String atual = null;
              PropertyInfo[] campos = pessoafisica.GetType().GetProperties();

              pessoafisica.Nome = "Glebson";

              foreach (PropertyInfo campo in campos)
              {
              if (campo.Name == "Nome")
              {
                  campo.SetValue(pessoafisica, "Marcela", null);
                  atual = campo.GetValue(pessoafisica, null).ToString();
              }
              }

              Assert.AreEqual(esperado, atual);
        }