Package br.com.moonjava.flight.base

Source Code of br.com.moonjava.flight.base.TesteDeConsultarVoo

/*
* Copyright 2012 MoonJava LTDA.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package br.com.moonjava.flight.base;

import static org.hamcrest.MatcherAssert.assertThat;

import static org.hamcrest.Matchers.equalTo;

import java.util.List;

import org.joda.time.DateTime;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import br.com.moonjava.flight.dao.base.VooDAO;
import br.com.moonjava.flight.jdbc.DbUnit;
import br.com.moonjava.flight.jdbc.DbUnitFlightXml;
import br.com.moonjava.flight.model.base.Status;
import br.com.moonjava.flight.model.base.Voo;
import br.com.moonjava.flight.util.RequestParamWrapper;

/**
* @version 1.0 Apr 10, 2012
* @contact tiago.aguiar@moonjava.com.br
*
*/
@Test
public class TesteDeConsultarVoo {

  @BeforeClass
  public void limparTabela() {
    DbUnit dbUnit = new DbUnit();
    dbUnit.load(new DbUnitFlightXml());
  }

  public void buscar_por_todos_voos_disponiveis() {
    VooDAO dao = new VooDAO();
    RequestParamWrapper request = new RequestParamWrapper();

    Status status = Status.DISPONIVEL;

    request.set("status", status);

    List<Voo> res = dao.consultar(request);
    assertThat(res.size(), equalTo(3));

    Voo r0 = res.get(0);
    Voo r1 = res.get(1);
    Voo r2 = res.get(2);

    assertThat(r0.getCodigo(), equalTo("V1000"));
    assertThat(r1.getCodigo(), equalTo("V1001"));
    assertThat(r2.getCodigo(), equalTo("V1003"));

    assertThat(r0.getAeronave().getCodigo(), equalTo("A1000"));
    assertThat(r1.getAeronave().getCodigo(), equalTo("A1000"));
    assertThat(r2.getAeronave().getCodigo(), equalTo("A1001"));
  }

  public void filtro_por_status_e_data_de_partida() {
    VooDAO dao = new VooDAO();
    RequestParamWrapper request = new RequestParamWrapper();

    Status status = Status.DISPONIVEL;
    DateTime partida = new DateTime(2012, 2, 1, 0, 0, 0);

    request.set("status", status);
    request.set("partida", partida);

    List<Voo> res = dao.consultar(request);
    assertThat(res.size(), equalTo(2));

    assertThat(res.get(0).getCodigo(), equalTo("V1001"));
    assertThat(res.get(1).getCodigo(), equalTo("V1003"));
  }

  public void filtro_por_status_e_data_de_chegada() {
    VooDAO dao = new VooDAO();
    RequestParamWrapper request = new RequestParamWrapper();

    Status status = Status.DISPONIVEL;
    DateTime chegada = new DateTime(2012, 2, 1, 6, 0, 0);

    request.set("status", status);
    request.set("chegada", chegada);

    List<Voo> res = dao.consultar(request);
    assertThat(res.size(), equalTo(2));

    assertThat(res.get(0).getCodigo(), equalTo("V1000"));
    assertThat(res.get(1).getCodigo(), equalTo("V1001"));
  }

  public void filtro_por_status_indisponivel() {
    VooDAO dao = new VooDAO();
    RequestParamWrapper request = new RequestParamWrapper();

    Status status = Status.INDISPONIVEL;

    request.set("status", status);

    List<Voo> res = dao.consultar(request);
    assertThat(res.size(), equalTo(1));

    assertThat(res.get(0).getCodigo(), equalTo("V1002"));
  }

  public void filtro_por_origem() {
    VooDAO dao = new VooDAO();
    RequestParamWrapper request = new RequestParamWrapper();

    String origem = "origem D";
    Status status = Status.DISPONIVEL;

    request.set("origem", origem);
    request.set("status", status);

    List<Voo> res = dao.consultar(request);
    assertThat(res.size(), equalTo(1));

    assertThat(res.get(0).getCodigo(), equalTo("V1003"));
  }

  public void filtro_por_destino() {
    VooDAO dao = new VooDAO();
    RequestParamWrapper request = new RequestParamWrapper();

    String destino = "destino B";
    Status status = Status.DISPONIVEL;

    request.set("destino", destino);
    request.set("status", status);

    List<Voo> res = dao.consultar(request);
    assertThat(res.size(), equalTo(1));

    assertThat(res.get(0).getCodigo(), equalTo("V1001"));
  }

  public void consulta_por_id() {
    VooDAO dao = new VooDAO();
    int id = 1;

    Voo res = dao.consultarPorId(id);
    assertThat(res.getId(), equalTo(id));
    assertThat(res.getAeronave().getCodigo(), equalTo("A1000"));
  }

  public void consultar_por_aeronave() {
    VooDAO dao = new VooDAO();

    int aeronaveId = 2;

    List<Voo> res = dao.consultarPorAeronaveId(aeronaveId);
    assertThat(res.size(), equalTo(1));

    Voo voo = res.get(0);
    assertThat(voo.getCodigo(), equalTo("V1003"));
    assertThat(voo.getOrigem(), equalTo("origem D"));
    assertThat(voo.getDestino(), equalTo("destino D"));
    assertThat(voo.getEscala(), equalTo(null));
    assertThat(voo.getDataDePartida(), equalTo(new DateTime(2012, 3, 1, 0, 0, 0)));
    assertThat(voo.getDataDeChegada(), equalTo(new DateTime(2012, 3, 1, 6, 0, 0)));
    assertThat(voo.getObservacao(), equalTo(null));
    assertThat(voo.getStatus(), equalTo(Status.DISPONIVEL));
    assertThat(voo.getAssentoLivre(), equalTo(200));
    assertThat(voo.getPreco(), equalTo(550.50));
  }

}
TOP

Related Classes of br.com.moonjava.flight.base.TesteDeConsultarVoo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.