Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package inf319;
- import static org.junit.Assert.*;
- import org.junit.BeforeClass;
- import org.junit.AfterClass;
- import org.junit.Test;
- public class TestCafeteira {
- private static Hardware hardware;
- private static Cafeteira cafeteira;
- @BeforeClass
- public static void upCafeteira() {
- /** Instantiate a hardware and a coffee maker.
- * Recall that the coffee maker has not a graphical interface
- * because the hardware has been built with the hasIHC attribute
- * set to false.
- */
- hardware = new Hardware(false);
- cafeteira = new Cafeteira(hardware);
- /**
- * Emulate the pressing of the Liga button.
- */
- hardware.pressionaBotao();
- assertTrue(cafeteira.getEstadoIHC().equals(EstadoIHC.naoFazendo));
- assertTrue(cafeteira.getEstadoAquecedor().equals(EstadoAquecedor.naoAquecendo));
- assertTrue(cafeteira.getEstadoVaporizador().equals(EstadoVaporizador.naoFazendo));
- }
- @Test
- public void normalFlow() {
- // Place water in jar.
- hardware.ajustaNivelDeAgua(10);
- // Initial run of the coffee maker.
- cafeteira.executa();
- assertEquals(EstadoIHC.fazendo, cafeteira.getEstadoIHC());
- assertEquals(EstadoAquecedor.fazendoJarVazia, cafeteira.getEstadoAquecedor());
- assertEquals(EstadoVaporizador.vaporizando, cafeteira.getEstadoVaporizador());
- // Next, execute the hardware.
- hardware.executa();
- hardware.executa();
- // After two executions of the hardware, the coffee maker should have
- assertEquals(8, hardware.pegaNivelDeAgua());
- assertEquals(2, hardware.pegaNivelDeCafe());
- // Invariant: volume(water + coffee) is constant.
- assertEquals(10, hardware.pegaNivelDeAgua()+ hardware.pegaNivelDeCafe());
- cafeteira.executa();
- assertEquals(EstadoIHC.fazendo, cafeteira.getEstadoIHC());
- assertEquals(EstadoAquecedor.fazendoAquecendo, cafeteira.getEstadoAquecedor());
- assertEquals(EstadoVaporizador.vaporizando, cafeteira.getEstadoVaporizador());
- hardware.executa();
- hardware.executa();
- assertEquals(6, hardware.pegaNivelDeAgua());
- assertEquals(4, hardware.pegaNivelDeCafe());
- assertEquals(10, hardware.pegaNivelDeAgua()+ hardware.pegaNivelDeCafe());
- assertEquals(EstadoIHC.fazendo, cafeteira.getEstadoIHC());
- assertEquals(EstadoAquecedor.fazendoAquecendo, cafeteira.getEstadoAquecedor());
- assertEquals(EstadoVaporizador.vaporizando, cafeteira.getEstadoVaporizador());
- // insira aqui a sequencia de asserções necessárias para finalizar
- // o teste funcional da cafeteira.
- /**
- * Esse caso de teste verifica o funcionamento da valvula
- */
- hardware.executa();
- assertEquals(5, hardware.pegaNivelDeAgua());
- assertEquals(5, hardware.pegaNivelDeCafe());
- assertEquals(EstadoIHC.fazendo, cafeteira.getEstadoIHC());
- assertEquals(EstadoHardware.ehValvulaFechada, hardware.leEstadoValvulaPressao());
- hardware.removeJarra();
- cafeteira.executa();
- assertEquals(EstadoHardware.ehValvulaAberta, hardware.leEstadoValvulaPressao());
- // Verifica se valvula fechou corretamente depois de abrir
- hardware.colocaJarra();
- cafeteira.executa();
- assertEquals(EstadoHardware.ehValvulaFechada, hardware.leEstadoValvulaPressao());
- assertEquals(EstadoHardware.ehAquecedorLigado, hardware.leEstadoElementoAquecedor());
- assertEquals(EstadoHardware.ehEbulidorLigado, hardware.leEstadoElementoEbulidor());
- // Verifica se a cafeteira funcionou normal dps de remover a jarra
- hardware.executa();
- assertEquals(4, hardware.pegaNivelDeAgua());
- assertEquals(6, hardware.pegaNivelDeCafe());
- hardware.executa();
- hardware.executa();
- hardware.executa();
- assertEquals(1, hardware.pegaNivelDeAgua());
- assertEquals(9, hardware.pegaNivelDeCafe());
- // Ao terminar de fazer café
- hardware.executa();
- assertEquals(0, hardware.pegaNivelDeAgua());
- assertEquals(10, hardware.pegaNivelDeCafe());
- cafeteira.executa();
- assertEquals(EstadoHardware.ehEbulidorDesligado, hardware.leEstadoElementoEbulidor());
- assertEquals(EstadoHardware.ehValvulaFechada, hardware.leEstadoValvulaPressao());
- assertEquals(EstadoHardware.ehAquecedorLigado, hardware.leEstadoElementoAquecedor());
- assertEquals(EstadoHardware.ehIndicadoraLigada, hardware.leEstadoLuzIndicadora());
- // Testa ver se a maquina tenta fazer café sem agua
- hardware.executa();
- assertEquals(0, hardware.pegaNivelDeAgua());
- assertEquals(10, hardware.pegaNivelDeCafe());
- }
- @Test
- public void exceptionalFlow() {
- }
- @AfterClass
- public static void downCafeteira() {
- hardware = null;
- cafeteira = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement