Estrutura do Projeto RomanNumeralsConvert - moura-fernando/tdd GitHub Wiki
Estrutura
A estrutura dos projetos está organizada da seguinte forma:
O projeto contempla a conversão de números do sistema romano, para números do sistema decimal.
O projeto foi iniciado com a criação dos seguintes testes:
Classe: RomanNumeralsConverterTest.java
- @BeforeClass testConversionTable Verifica se a tabela de conversão de dados romanos para decimal é sincera.
- @Before createConverter Prepara a classe converter para cada teste a ser realizado.
- @Test testNumberI Testa se é possível converter o número 1.
- @Test testNumberV Testa se é possível converter o número 5.
- @Test testNumberX Testa se é possível converter o número 10.
- @Test testNumberWithEqualsCharacters Testa se é possível converter um simbolo com 3 caracteres. Ex: III
- @Test testNumberWithMultiplesSumsToConversion Testa se é possível converter um número que necessita de somas para realizar sua conversão. Ex: XXXIII.
- @Test testNumberWithASubtractionToConversion Testa se é possível converter um número que necessita de subtração para realizar sua conversão. Ex: IV.
- @Test testNumberWithSumsAndSubtractionToConversion Testa se é possível converter um número que necessita de somas e subtrações para realizar sua conversão. Ex: XXIV.
- @Test(expected=RuntimeException.class) testANonRomanLiteral Testa o funcionamento de exceção se a entrada tiver um caractere não válido. Ex: 'A'.
- @Test(expected=RuntimeException.class) testAMalFormedRepeatedRomanNumbers Testa o funcionamento de exceção se a regra de que as letras I X C não podem se repetir mais de 3 vezes for violada. Ex: IIII.
- @Test(expected=RuntimeException.class) testAMalFormedRomanNumbers Testa o funcionamento de exceção se a entrada possuir dois valores menores entre um maior. Ex: IVI.
Pacote main contém:
Classe: ConverterApplication.java
Utilizada para rodar a aplicação e receber os dados de entrada.
Pacote model contém:
Classe: LastNumbers.java
Esta classe, que contempla o padrão builder, auxilia no armazenamento e transferência dos dados de entrada para validação das regras do sistema de representação romana.
Pacote utils contém:
Classe: RomanNumeralsConverter.java
Esta classe utilitária contempla as regras de negócio do sistema de representação romana.