Todos os campos do CNAB possuem limite de caracteres! Portanto, os campos que possuem tamanho varável e que podem vir a ser maiores do que o limite que o CNAB permite precisam ser listados e tratados conforme a necessidade de cada campo.
Exemplo
O nome de uma pessoa não pode ter mais do que 40 caracteres. Ou seja, é necessário que se crie regras/padrões para que se encurte o nome de pessoas que possuam um nome com mais do que 40 caracteres de tamanho.
Lista de campos limitados que precisam ser discutidos
Campo: 13.0, Nome da Empresa, possui limite de: 30 caracteres
Campo: 14.0, Nome do Banco, possui limite de: 30 caracteres
Campo: 17.1, Nome da Empresa, possui limite de: 30 caracteres
Campo: 10.3Q, Nome, possui limite de: 40 caracteres
Campo: 11.3Q, Endereço, possui limite de: 40 caracteres
Campo: 12.3Q, Bairro, possui limite de: 15 caracteres
Campo: 15.3Q, Cidade, possui limite de: 15 caracteres
Campo: 19.3Q, Nome do Sacador/Avalista, possui limite de: 40 caracteres
Note: o levantamento acima foi feito de forma manual, ou seja, pode ser que exista algum outro campo a mais que deva ser adicionado.
Lógica para testar
No âmbito mais geral dos testes, testes de integração, acredito que se deva testar gerando todos os campos que podem vir a receber o tamanho variável com dados fakes e checando o resultado como um todo do CNAB.
Quais das bibliotecas devem ser utilizadas acredito que cabe em um momento de análise posterior e mais detalhado, outra issue.
Subdivisão das issues
Acredito que os padrões de encurtamento dos campos devem ser discutidos em respectivas issues para cada padrão, e cada grupo de campos seja reunido em cada padrão para sua respectiva discussão.
Dúvida
Quais campos podem adotar o mesmo padrão de encurtamento?
Alguns, acredito serem imediatos, por exemplo:
Campo: 10.3Q, Nome, possui limite de: 40 caracteres
Campo: 19.3Q, Nome do Sacador/Avalista, possui limite de: 40 caracteres
Como são nomes de pessoas, e tem o mesmo número de caracteres podem ser tratados de forma igual, acredito.
Resumo
Todos os campos do CNAB possuem limite de caracteres! Portanto, os campos que possuem tamanho varável e que podem vir a ser maiores do que o limite que o CNAB permite precisam ser listados e tratados conforme a necessidade de cada campo.
Exemplo
O nome de uma pessoa não pode ter mais do que 40 caracteres. Ou seja, é necessário que se crie regras/padrões para que se encurte o nome de pessoas que possuam um nome com mais do que 40 caracteres de tamanho.
Lista de campos limitados que precisam ser discutidos
Note: o levantamento acima foi feito de forma manual, ou seja, pode ser que exista algum outro campo a mais que deva ser adicionado.
Lógica para testar
No âmbito mais geral dos testes, testes de integração, acredito que se deva testar gerando todos os campos que podem vir a receber o tamanho variável com dados fakes e checando o resultado como um todo do CNAB.
Bibliotecas plausíveis para realização dos testes
https://pypi.org/project/Faker/
https://hypothesis.readthedocs.io/en/latest/
https://factoryboy.readthedocs.io/en/latest/
Quais das bibliotecas devem ser utilizadas acredito que cabe em um momento de análise posterior e mais detalhado, outra issue.
Subdivisão das issues
Acredito que os padrões de encurtamento dos campos devem ser discutidos em respectivas issues para cada padrão, e cada grupo de campos seja reunido em cada padrão para sua respectiva discussão.
Dúvida
Quais campos podem adotar o mesmo padrão de encurtamento?
Alguns, acredito serem imediatos, por exemplo:
Como são nomes de pessoas, e tem o mesmo número de caracteres podem ser tratados de forma igual, acredito.
E quanto aos demais campos, que padrão utilizar?