Tópicos sobre escrita de testes com JUnit/Album (JUnit example)

From Wiki**3

< Tópicos sobre escrita de testes com JUnit
Revision as of 17:56, 25 October 2009 by Root (talk | contribs) (How to Compile and Run)

Problema

Considere uma caderneta de cromos. Os cromos têm um número e uma imagem. Não é necessário modelar a imagem, considere a imagem como sendo uma instância da seguinte classe:

<java5> class Image { /* conteúdo omitido */ } </java5>

A caderneta guarda os cromos pela ordem de numeração e não permite guardar cromos repetidos. É possível adicionar cromos a uma caderneta (método add) e é possível remover um cromo se for indicado o seu número (método remove). Duas cadernetas dizem-se iguais (equals) se tiverem o mesmo número de cromos (independentemente das características dos cromos individuais). É possível obter uma lista ordenada (por número) contendo os cromos de uma caderneta (método getAll).

  1. Modele e implemente as classes dos cromos (Card) e da caderneta (Album) (pode utilizar classes do pacote de colecções do Java).
  2. Escreva uma classe de teste que contenha um teste
    • que verifique se a inserção de um cromo na caderneta funciona; e outro
    • que verifique as propriedades associadas ao método equals.

Solução

Class Image

This is a very simple and uninteresting class.

<java5> public class Image {

} </java5>

Class Card

<java5> </java5>

Class Album

<java5> </java5>

How to Compile and Execute

Compilation

  • javac Image.java
  • javac Card.java
  • javac Album.java
  • javac -cp /usr/share/java/junit.jar:. AlbumTest.java

Execution

  • java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner AlbumTest