Considere a classe que representa a estrutura de dados Fila com o seguinte comportamento:
- Quando uma Fila está vazia apenas é possível adicionar um elemento à Fila (operação realizada através do método add);
- Quando a Fila tem elementos, pode-se apenas remover elementos (através do método remove), adicionar elementos (através do método add), e obter o primeiro elemento (através do método peek);
- No caso particular de a Fila estar cheia não é possível adicionar novos elementos.
Aplicando o padrão de testes mais apropriado, e descrevendo os vários passos da sua aplicação, desenhe os casos de teste que permitem verificar o comportamento desta classe.