Introdução
Hoje iniciei o processo de começar a escrever testes em C, apesar de ainda estar no início, consegui separar melhor o código e aprender com os tópicos. Criei um register.h para organizar as estruturas relacionadas aos registradores e suas assinaturas.
Movimentação de Implementação
Após a separação, movi a implementação para o register.c, que estava na main.c ontem. Isso foi feito para melhorar a organização do código.
Futuro Planejado
Mais adiante, um cpu.c será o local onde esses conceitos serão realmente aplicados. Por enquanto, criei um test_registers.c para testar os conceitos de testes de que estava interessado.
Reflexões e Desafios
Durante a implementação, comecei a pensar sobre como fazer o código mais geral e claro para debugar. Também me dei tempo para explorar como o C trata valores negativos e grandes.
Implementação Atual
Até o momento, a implementação está assim:
- Não há quebra por tipagem quando os valores são acima de 8 bits.
- Testei valores estranhos como
NULLe valores maiores. - Não implementei valores negativos ou grandes diretamente.
Futuras Estruturas
Estou planejando estruturar melhor o código e considerar o uso de assert() para testes, que não retorna booleano. Estou pensando em como implementar testes de forma mais estruturada e considerar a cultura de dojôs para melhorar a aprendizagem.
Conclusão
A implementação de testes em C é um processo em constante evolução. Estou aprendendo com cada teste e planejando melhorar a estrutura do código conforme necessário.