package br.com.ufrj.msi2.netuno.modelo; import java.util.List; import javax.persistence.EntityTransaction; import org.junit.Test; import br.com.ufrj.msi2.netuno.modelo.entidades.Porto; import br.com.ufrj.msi2.netuno.modelo.servicos.PortoServiceImpl; import br.com.ufrj.msi2.netuno.modelo.support.BeanFinder; import com.bm.testsuite.BaseSessionBeanFixture; import com.bm.testsuite.dataloader.CSVInitialDataSet; public class PortoServiceImplTest extends BaseSessionBeanFixture<PortoServiceImpl> { private static final Class<?>[] usedBeans = BeanFinder.findBeans(BeanFinder.NETUNO_MODEL_PACKAGE); PortoServiceImpl service; private static final CSVInitialDataSet<Porto> CSV_SET1 = new CSVInitialDataSet<Porto>( Porto.class, "porto.csv", "id", "localizacao", "nome"); public PortoServiceImplTest() { super(PortoServiceImpl.class, usedBeans, CSV_SET1); } @Test public void testObterTodos() { List<Porto> lista = service.obterTodos(); assertEquals("BA", (lista.get(0)).getLocalizacao()); assertEquals("ES", (lista.get(1)).getLocalizacao()); assertEquals("RJ", (lista.get(2)).getLocalizacao()); assertEquals("SP", (lista.get(3)).getLocalizacao()); assertEquals("SV", (lista.get(4)).getLocalizacao()); assertEquals(5, lista.size()); } @Test public void testObterPorId() { Porto porto; porto = service.obterPorId(1); assertEquals("RJ", porto.getLocalizacao()); porto = service.obterPorId(2); assertEquals("SP", porto.getLocalizacao()); porto = service.obterPorId(3); assertEquals("BA", porto.getLocalizacao()); porto = service.obterPorId(4); assertEquals("SV", porto.getLocalizacao()); porto = service.obterPorId(5); assertEquals("ES", porto.getLocalizacao()); } @Test public void testSalvar() { Porto porto = new Porto(); porto.setLocalizacao("PA"); porto.setNome("Par�"); porto.setAgentes(null); porto.setAtraques(null); porto.setPatios(null); porto.setSlots(null); EntityTransaction tx = this.getEntityManager().getTransaction(); try { tx.begin(); service.salvar(porto); tx.commit(); } catch (Exception e) { if(tx.isActive()) tx.rollback(); fail("Falha na persist�ncia: " + e.getMessage()); } List<Porto> lista = service.filtrar(porto); assertEquals("PA", lista.get(0).getLocalizacao()); } @Test public void testAlterar(){ Porto porto = new Porto(); porto.setId(1); porto.setLocalizacao("RJ"); porto.setNome("Rio de Janeiro"); porto.setAgentes(null); porto.setAtraques(null); porto.setPatios(null); porto.setSlots(null); EntityTransaction tx = this.getEntityManager().getTransaction(); try { tx.begin(); service.alterar(porto); tx.commit(); } catch (Exception e) { if(tx.isActive()) tx.rollback(); fail("Falha na persist�ncia: " + e.getMessage()); } List<Porto> lista = service.filtrar(porto); assertEquals("RJ", lista.get(0).getLocalizacao()); assertEquals("Rio de Janeiro", lista.get(0).getNome()); } @Test public void testExcluir(){ Porto porto = new Porto(); porto.setId(1); porto.setLocalizacao("RJ"); porto.setNome("Rio"); porto.setAgentes(null); porto.setAtraques(null); porto.setPatios(null); porto.setSlots(null); EntityTransaction tx = this.getEntityManager().getTransaction(); try { tx.begin(); service.excluir(1); tx.commit(); } catch (Exception e) { if(tx.isActive()) tx.rollback(); fail("Falha na persist�ncia: " + e.getMessage()); } List<Porto> lista = service.filtrar(porto); assertEquals(0,lista.size()); } @Test public void testFiltrar(){ Porto porto = new Porto(); porto.setId(1); porto.setLocalizacao("RJ"); porto.setNome("Rio"); porto.setAgentes(null); porto.setAtraques(null); porto.setPatios(null); porto.setSlots(null); List<Porto> lista = service.filtrar(porto); assertEquals("RJ", lista.get(0).getLocalizacao()); assertEquals(1, lista.size()); } @Override public void setUp() throws Exception{ super.setUp(); service = this.getBeanToTest(); } }