1 package dst.ass1.jpa.tests;
3 import static org.hamcrest.CoreMatchers.hasItems;
4 import static org.junit.Assert.assertNotNull;
5 import static org.junit.Assert.assertThat;
7 import java.util.Collection;
9 import javax.persistence.EntityTransaction;
11 import org.junit.Before;
12 import org.junit.Test;
14 import dst.ass1.jpa.dao.ICourseDAO;
15 import dst.ass1.jpa.dao.ILessonDAO;
16 import dst.ass1.jpa.dao.IMaterialServerDAO;
17 import dst.ass1.jpa.model.ICourse;
18 import dst.ass1.jpa.model.ILesson;
19 import dst.ass1.jpa.model.IMaterialServer;
21 public class Ass1_2_3a_02Test extends Ass1_TestBase {
23 private ILessonDAO lessonDAO;
24 private ICourseDAO courseDAO;
25 private IMaterialServerDAO materialServerDAO;
28 public void setUpDatabase() throws Exception {
29 lessonDAO = daoFactory.createLessonDAO();
30 courseDAO = daoFactory.createCourseDAO();
31 materialServerDAO = daoFactory.createMaterialServerDAO();
33 ILesson lesson1 = lessonDAO.findById(testData.lesson1Id);
34 ILesson lesson2 = lessonDAO.findById(testData.lesson2Id);
35 ICourse course2 = courseDAO.findById(testData.course2Id);
37 EntityTransaction tx = em.getTransaction();
39 lesson1.setCourse(course2);
40 lesson2.setCourse(course2);
48 public void testMaterialServersForCourse() {
49 ICourse course = courseDAO.findById(testData.course1Id);
50 Collection<IMaterialServer> materialServers = materialServerDAO.findMaterialServersForCourse(course);
51 assertNotNull(materialServers);
53 assertThat(map(materialServers, e -> e.getId()), hasItems(
54 testData.materialServer2Id,
55 testData.materialServer3Id
60 public void testMaterialServersForCourse2() {
61 ICourse course = courseDAO.findById(testData.course2Id);
62 Collection<IMaterialServer> materialServers = materialServerDAO.findMaterialServersForCourse(course);
63 assertNotNull(materialServers);
65 assertThat(map(materialServers, e -> e.getId()), hasItems(
66 testData.materialServer1Id