Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import br.ufal.ic.academico.exemplos.Database;
- import br.ufal.ic.academico.model.*;
- import io.dropwizard.testing.junit5.DAOTestExtension;
- import io.dropwizard.testing.junit5.DropwizardExtensionsSupport;
- import static org.junit.jupiter.api.Assertions.*;
- import java.util.ArrayList;
- import java.util.List;
- import org.hibernate.SessionFactory;
- import org.junit.jupiter.api.Test;
- import org.junit.jupiter.api.extension.ExtendWith;
- @ExtendWith(DropwizardExtensionsSupport.class)
- public class CourseTest {
- public DAOTestExtension dbTesting = DAOTestExtension.newBuilder()
- .addEntityClass(Subject.class)
- .addEntityClass(Course.class)
- .addEntityClass(Student.class)
- .build();
- private Database dao;
- private SessionFactory sessionFactory;
- @Test
- public void testSubject() {
- sessionFactory = dbTesting.getSessionFactory();
- dao = new Database(sessionFactory);
- // FIRST ROUND OF TESTS
- sessionFactory.getCurrentSession().beginTransaction();
- Subject firstSubject = new Subject("First Subject", "1", 20);
- dao.persist(Subject.class, firstSubject);
- Course firstCourse = new Course("First Course", "Graduation");
- assertTrue(firstCourse.setOneSubject(firstSubject)); // FIRST ASSERTION
- dao.persist(Course.class, firstCourse);
- sessionFactory.getCurrentSession().getTransaction().commit();
- Course retrievedCourse;
- assertNotNull((retrievedCourse = dao.get(Course.class, firstCourse.getId()))); // SECOND ASSERTION
- assertEquals(retrievedCourse.getCourseSubjects().get(0), firstSubject); // THIRD ASSERTION
- assertFalse(firstCourse.setOneSubject(firstSubject)); // FOURTH ASSERTION
- Subject secondSubject = new Subject("Second Subject", "2", 20);
- assertTrue(firstCourse.setOneSubject(secondSubject)); // FIFTH ASSERTION
- sessionFactory.getCurrentSession().beginTransaction();
- dao.persist(Subject.class, secondSubject);
- dao.persist(Course.class, firstCourse);
- sessionFactory.getCurrentSession().getTransaction().commit();
- assertNotNull((retrievedCourse = dao.get(Course.class, firstCourse.getId()))); // SEVENTH ASSERTION
- assertTrue(retrievedCourse.getCourseSubjects().size() == 2); // EIGHTH ASSERTION
- assertEquals(retrievedCourse.getCourseSubjects().get(1), secondSubject); // NINTH ASSERTION
- // SECOND ROUND OF TESTS
- Course secondCourse = new Course("Second Course", "Graduation");
- Subject thirdSubject = new Subject("Third Subject", "3", 30);
- Subject fourthSubject = new Subject("Fourth Subject", "4", 40);
- secondCourse.setOneSubject(thirdSubject);
- secondCourse.setOneSubject(fourthSubject);
- sessionFactory.getCurrentSession().beginTransaction();
- dao.persist(Subject.class, thirdSubject);
- dao.persist(Subject.class, fourthSubject);
- dao.persist(Course.class, secondCourse);
- sessionFactory.getCurrentSession().getTransaction().commit();
- List<Course> list = dao.list(Course.class);
- assertEquals(firstCourse, list.get(0)); // TENTH ASSERTION
- assertEquals(secondCourse, list.get(1)); // ELEVENTH ASSERTION
- assertEquals("Graduation", list.get(1).getKindOfCourse());
- assertEquals("Second Course", list.get(1).getName());
- assertFalse(list == null);
- assertNotNull(list);
- assertNotNull(list.get(0));
- assertNotNull(list.get(1));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement