]> git.somenet.org - pub/jan/dst18.git/blob - ass1-jpa/src/test/java/dst/ass1/jpa/tests/Ass1_1_1_09Test.java
Add template for assignment 1
[pub/jan/dst18.git] / ass1-jpa / src / test / java / dst / ass1 / jpa / tests / Ass1_1_1_09Test.java
1 package dst.ass1.jpa.tests;
2
3 import static org.hamcrest.CoreMatchers.is;
4 import static org.hamcrest.core.IsCollectionContaining.hasItems;
5 import static org.junit.Assert.assertEquals;
6 import static org.junit.Assert.assertNotNull;
7 import static org.junit.Assert.assertThat;
8
9 import java.util.List;
10
11 import javax.persistence.EntityManager;
12
13 import org.junit.Test;
14
15 import dst.ass1.jpa.dao.ICoursePlatformDAO;
16 import dst.ass1.jpa.dao.IMaterialServerDAO;
17 import dst.ass1.jpa.dao.impl.DAOFactory;
18 import dst.ass1.jpa.model.ICoursePlatform;
19 import dst.ass1.jpa.model.IMaterialServer;
20
21 /**
22  * Tests the association between ICoursePlatform and IMaterialServer.
23  */
24 public class Ass1_1_1_09Test extends Ass1_TestBase {
25
26     @Test
27     public void testCoursePlatformMaterialServerAssociation() {
28         EntityManager em = orm.createEntityManager();
29         DAOFactory daoFactory = new DAOFactory(em);
30
31         IMaterialServerDAO materialServerDAO = daoFactory.createMaterialServerDAO();
32         ICoursePlatformDAO coursePlatformDAO = daoFactory.createCoursePlatformDAO();
33
34         List<IMaterialServer> materialServers = materialServerDAO.findAll();
35
36         assertNotNull(materialServers);
37         assertEquals(3, materialServers.size());
38
39         IMaterialServer materialServer1 = materialServerDAO.findById(testData.materialServer1Id);
40         IMaterialServer materialServer2 = materialServerDAO.findById(testData.materialServer2Id);
41         IMaterialServer materialServer3 = materialServerDAO.findById(testData.materialServer3Id);
42
43         assertEquals(testData.materialServer1Id, materialServer1.getId());
44         assertEquals(testData.materialServer2Id, materialServer2.getId());
45         assertEquals(testData.materialServer3Id, materialServer3.getId());
46
47         List<ICoursePlatform> coursePlatforms = coursePlatformDAO.findAll();
48
49         assertNotNull(coursePlatforms);
50         assertEquals(2, coursePlatforms.size());
51
52         ICoursePlatform coursePlatform1 = coursePlatformDAO.findById(testData.coursePlatform1Id);
53         ICoursePlatform coursePlatform2 = coursePlatformDAO.findById(testData.coursePlatform2Id);
54
55         assertEquals(testData.coursePlatform1Id, coursePlatform1.getId());
56         assertNotNull(coursePlatform1.getMaterialServers());
57         assertThat(coursePlatform1.getMaterialServers().size(), is(2));
58         List<Long> materialServerIds1 = map(coursePlatform1.getMaterialServers(), IMaterialServer::getId);
59         assertThat(materialServerIds1, hasItems(testData.materialServer1Id, testData.materialServer2Id));
60
61         assertEquals(testData.coursePlatform2Id, coursePlatform2.getId());
62         assertNotNull(coursePlatform2.getMaterialServers());
63         assertThat(coursePlatform2.getMaterialServers().size(), is(1));
64         List<Long> materialServerIds2 = map(coursePlatform2.getMaterialServers(), IMaterialServer::getId);
65         assertThat(materialServerIds2, hasItems(testData.materialServer3Id));
66     }
67
68 }