1 package dst.ass1.jpa.tests;
3 import static org.hamcrest.CoreMatchers.is;
4 import static org.junit.Assert.assertThat;
6 import java.util.Collection;
9 import javax.persistence.Query;
11 import org.junit.Test;
13 import dst.ass1.jpa.dao.ICourseDAO;
14 import dst.ass1.jpa.model.ICourse;
15 import dst.ass1.jpa.util.Constants;
17 public class Ass1_2_1bTest extends Ass1_TestBase {
20 public void namedQuery_returnsCorrectResult() throws Exception {
21 Query query = em.createNamedQuery(Constants.Q_ONGOING_AND_FREE_PLATFORM_COURSES);
22 query.setParameter("platformName", TestData.COURSE_PLATFORM_2_NAME);
24 List resultList = query.getResultList();
25 assertThat("Expected a single results", resultList.size(), is(1));
27 ICourse result = (ICourse) resultList.get(0);
28 assertThat(result.getName(), is(TestData.COURSE_2_NAME));
32 public void daoFind_returnsCorrectResult() throws Exception {
33 ICourseDAO dao = daoFactory.createCourseDAO();
34 Collection<ICourse> resultList;
36 resultList = dao.findOngoingAndFreeCoursesForPlatform(TestData.COURSE_PLATFORM_1_NAME);
37 assertThat("Expected an empty result for " + TestData.COURSE_PLATFORM_1_NAME, resultList.isEmpty(), is(true));
39 resultList = dao.findOngoingAndFreeCoursesForPlatform(TestData.COURSE_PLATFORM_2_NAME);
40 assertThat("Expected a single results for " + TestData.COURSE_PLATFORM_2_NAME, resultList.size(), is(1));
41 ICourse result = resultList.iterator().next();
42 assertThat(result.getName(), is(TestData.COURSE_2_NAME));