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.