1 package dst.ass1.jpa.tests;
3 import static org.hamcrest.CoreMatchers.hasItem;
4 import static org.junit.Assert.assertEquals;
5 import static org.junit.Assert.assertNotNull;
6 import static org.junit.Assert.assertThat;
10 import org.junit.Test;
12 import dst.ass1.jpa.model.CourseStatus;
13 import dst.ass1.jpa.model.ICourse;
14 import dst.ass1.jpa.model.ILecturer;
17 * Tests the 1-N association between ICourse and ILecturer (its organizer).
19 public class Ass1_1_1_08Test extends Ass1_TestBase {
22 public void testCourseLecturerAssociation() {
24 ILecturer lecturer1 = daoFactory.createLecturerDAO().findById(testData.lecturer1Id);
25 assertNotNull(lecturer1);
26 assertNotNull(lecturer1.getCourses());
28 List<Long> courseIds = map(lecturer1.getCourses(), ICourse::getId);
30 assertEquals(1, courseIds.size());
31 assertThat(courseIds, hasItem(testData.course1Id));
33 ICourse course1 = daoFactory.createCourseDAO().findById(testData.course1Id);
34 ICourse course2 = daoFactory.createCourseDAO().findById(testData.course2Id);
36 assertNotNull(course1);
37 assertNotNull(course2);
39 assertEquals(testData.lecturer1Id, course1.getLecturer().getId());
40 assertEquals(testData.lecturer2Id, course2.getLecturer().getId());
44 public void testCourseStatus() {
45 ICourse course1 = daoFactory.createCourseDAO().findById(testData.course1Id);
46 assertEquals(CourseStatus.CREATED, course1.getStatus());
47 ICourse course2 = daoFactory.createCourseDAO().findById(testData.course2Id);
48 assertEquals(CourseStatus.ONGOING, course2.getStatus());