Enunciado

Pretende-se testar o correcto funcionamente de uma classe que representa uma operação de comparação sobre dois inteiros (representados por instâncias da classe java.lang.Integer).

A classe da operação matemática a testar depende do turno da aula prática:

  • 3ª feira: GreaterThanComparator
  • 4ª feira: Lesser ThanComparator (manhã); LesserOrEqualThanComparator (tarde)
  • 5ª feira: GreaterOrEqualThanComparator
  • 6ª feira: EqualComparator

Nenhuma destas classes define atributos. Cada uma possui apenas o construtor automático e define o método público e não estático compare com a seguinte assinatura:

public boolean compare(Integer n1, Integer n2) throws Exception

Este método realiza a funcionalidade associada ao nome da classe correspondente. Por exemplo, na classe GreaterThanComparator, este método deve devolver true caso n1 seja maior que n2 e false em caso contrário. Para qualquer das classes, se algum dos argumentos do método compare for null, então deve ser lançada uma excepção.

O teste ou testes realizados devem ser especificados numa única classe de teste, chamada, respectivamente, GreaterThanComparator Test , Lesser ThanComparatorTest , etc. Os testes devem testar exaustivamente a funcionalidade da classe correspondente.

O método de execução dos testes é semelhante ao praticado na aula prática 5 e aos que foram usados para o caso do exemplo arabiannights.

Sugestão: (caso pretenda verificar o correcto funcionamento da sua classe de teste)

  1. concretizar a classe de comparação a testar;
  2. introduzir várias situações de erro nesta classe, uma de cada vez, e verificar que a classe de testes correspondente detecta cada uma dessas situações;
  3. repetir 2. até se obter uma boa ideia do funcionamento dos testes.

Entregas via Web

Prazo limite para entrega: hora de início da aula de laboratório de cada grupo na semana de 2008/10/27 a 2008/10/31.

Após obter os testes que obedeçam às especificações fornecidas, crie o ficheiro ep4.jar, contendo apenas os ficheiros fonte (.java) de todas as classes concretizadas. Se todas as classes estiverem no mesmo directório, deve ser dado o seguinte comando:

jar -cvf ep4.jar *.java

Se todas as classes estiverem na mesma package pacote, deve ser dado o seguinte comando:

jar -cvf ep4.jar pacote

De seguida, entregar o ficheiro ep4.jar para avaliação. O trabalho pode ser entregue várias vezes, até à data limite de entrega, sendo avaliada apenas a última versão.

Endereço para entregas: https://po.rnl.ist.utl.pt/fenix4dei/student

As entregas estão sujeitas às condições genéricas associadas ao processo de entrega.