Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2643 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia pessoal,
Criei um teste unitário para a unit ACBrDFeUtil.
Gostaria de saber se há interesse por parte dos desenvolvedores.

Também adicionei mais 2 testes para a função FloatMask na unit ACBrUtilTest. Para testar a função com e sem separador de milhar.
Pois essa função foi modificada no commit 12770, passando a ser facultativo o uso do Separador de Milhar.

Segue em anexo Patch da pasta Testes.

 

Atenciosamente, Wesley Luan.

UnitTest.patch

Link para o comentário
Compartilhar em outros sites

  • Consultores

Subi suas alterações para o SVN na Revisão  12852.
Pelo que vi está tudo certo.
Favor testar e reportar qualquer problema.
Obrigado.

Nota: Ao criar o projeto de testes no Lazarus, notei alguma incompatibilidade dos testes com o Lazarus. É necessário averiguar.

 

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Muito obrigado pela contribuição... fiz os ajustes para rodar no Lazarus...  Não compreendi muito bem os seguintes testes... que estão acusando erro nos testes Unitários


procedure ValidaDIRETest.ComLetras_RetornaFalso;
var
  Ano, DIRE: string;
begin
  Ano := FormatDateTime('YY', Date);
....

  DIRE := Ano + 'A0000000001';
  CheckFalse(ValidaDIRE(DIRE));
end;  


procedure ValidaRETest.ComLetras_RetornaFalso;
var
  Ano, RE: string;
begin
  Ano := FormatDateTime('YY', Date);
....

  RE := Ano + 'A0000001'+ '001';
  CheckFalse(ValidaRE(RE));      
end;
       

 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

6 horas atrás, EMBarbosa disse:

Subi suas alterações para o SVN na Revisão  12852.
Pelo que vi está tudo certo.
Favor testar e reportar qualquer problema.
Obrigado.

Nota: Ao criar o projeto de testes no Lazarus, notei alguma incompatibilidade dos testes com o Lazarus. É necessário averiguar.

 

Opa. Vlw mesmo! Fico feliz em saber que pude ajudar com o projeto, ainda que seja muito pouco...

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Daniel Simoes disse:

Muito obrigado pela contribuição... fiz os ajustes para rodar no Lazarus...  Não compreendi muito bem os seguintes testes... que estão acusando erro nos testes Unitários



procedure ValidaDIRETest.ComLetras_RetornaFalso;
var
  Ano, DIRE: string;
begin
  Ano := FormatDateTime('YY', Date);
....

  DIRE := Ano + 'A0000000001';
  CheckFalse(ValidaDIRE(DIRE));
end;  


procedure ValidaRETest.ComLetras_RetornaFalso;
var
  Ano, RE: string;
begin
  Ano := FormatDateTime('YY', Date);
....

  RE := Ano + 'A0000001'+ '001';
  CheckFalse(ValidaRE(RE));      
end;
       

 

Valeu. Como não tenho Lazarus não pude validar...

Sobre esses testes eu fiz dessa forma pois a 1ª coisa que a função faz é remover os caracteres que não são números. Então se eu passar a string 17ABCDEFGHIJK0000001001, do jeito que a função está hoje ela será valida.

Editado por wluan
duplicidade
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Mas o problema é que essas chamadas não estão retornando o esperado... (o método "ValidaRE", retorna True e não False)

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

7 horas atrás, Daniel Simoes disse:

Mas o problema é que essas chamadas não estão retornando o esperado... (o método "ValidaRE", retorna True e não False)

Sim. Ao meu ver, teoricamente, elas estão validando uma string que deveria ser inválida.

Segue em anexo a unit ACBrDFeUtil.pas corrigindo esse problema nas funções ValidaRE e ValidaDIRE.

ACBrDFeUtil.pas

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Apliquei as seguintes modificações no SVN

Citar

-- ACBrDFeUtil --
[*] Rafatoração dos métodos: "ValidaDIRE" e "ValidaRE", aplicando simplificação
    de código, e retornando "False", se houver caracteres não numéricos
    (por: DSA)

 

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2643 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...