1 package dst.ass1.jpa.tests;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertFalse;
5 import static org.junit.Assert.assertNotNull;
6 import static org.junit.Assert.assertTrue;
10 import javax.persistence.EntityManager;
12 import org.junit.Rule;
13 import org.junit.Test;
15 import dst.ass1.jpa.ORMService;
16 import dst.ass1.jpa.dao.IDAOFactory;
17 import dst.ass1.jpa.listener.DefaultListener;
18 import dst.ass1.jpa.model.IModelFactory;
19 import dst.ass1.jpa.model.IParticipant;
21 public class Ass1_3_2Test {
24 public ORMService orm = new ORMService();
27 public void testDefaultListener() {
28 DefaultListener.clear();
30 IDAOFactory daoFactory = orm.getDaoFactory();
31 IModelFactory modelFactory = orm.getModelFactory();
32 EntityManager em = orm.getEntityManager();
34 em.getTransaction().begin();
37 IParticipant participant = modelFactory.createParticipant();
38 participant.setName(TestData.PARTICIPANT_1_NAME);
39 participant.setEmail(TestData.PARTICIPANT_1_EMAIL);
40 em.persist(participant);
42 em.remove(participant);
45 participant = modelFactory.createParticipant();
46 participant.setName(TestData.PARTICIPANT_2_NAME);
47 participant.setEmail(TestData.PARTICIPANT_2_EMAIL);
48 em.persist(participant);
50 assertEquals(1, DefaultListener.getRemoveOperations());
51 assertTrue(DefaultListener.getPersistOperations() > 0);
52 assertEquals((double) DefaultListener.getOverallTimeToPersist() / DefaultListener.getPersistOperations(), DefaultListener.getAverageTimeToPersist(), 0.0);
54 List<IParticipant> participants = daoFactory.createParticipantDAO().findAll();
55 assertNotNull(participants);
56 assertFalse(participants.isEmpty());
58 int loadOperations = DefaultListener.getLoadOperations();
59 em.refresh(participants.get(0));
60 assertEquals(loadOperations + 1, DefaultListener.getLoadOperations());
62 participants = daoFactory.createParticipantDAO().findAll();
63 assertNotNull(participants);
64 assertFalse(participants.isEmpty());
66 participants.get(0).setName("updated");
67 em.persist(participants.get(0));
70 assertEquals(1, DefaultListener.getUpdateOperations());