Adiciona teste que demonstra problema no calculo do Digito Verificador do Santander
Correção do problema do cálculo de dígito verificador do Santander.
Deixo claro que essa provavelmente não é a melhor solução para o problema, mas queria saber se existe alguma maneira de fazer o cálculo utilizando a classe DigitoPara sem precisar desse if. Se utilizarmos o método complementarAoModulo, ele não trata essa regra específica de ignorar os casos de resultado 0 ou 1, calculando o dígito errado (tanto que existem casos de retornar 11 em um campo que deveria aceitar apenas um dígito).
Em caso de duvidas, sugiro que leiam no final da página 13 da documentação do Santander, aonde é explicado essa regra do cálculo.
Aplicar mudanças na geração do dígito verificador do Santander.
Ao aplicar as mudanças sugeridas, adicionei um teste que está falhando. A falha ocorre pois ao fazer o calculo do mod (utilizando o método complementarAoModulo), ele não respeita a regra de fazer esse calculo apenas quando for diferente de 0 ou 1. Quando o resto fica em 1, o resultado devia retornar 0 ao invés de 1. Isso ocorre porque o método complementarAoModulo faz o calculo 11-1=10, e esse cálculo não deveria ser feito pois afeta o próximo método (trocandoPorSeEncontrar).
Existe algum outro caminho sem colocar aquele if/parseInt?
Voltar para a primeira solução
Merge pull request #113 from rdskill/corrigirCalculoDigitoNossoNumeroSantander

Corrigir calculo digito nosso numero santander