1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.parent_childs;
17
18 import java.io.Reader;
19 import java.util.List;
20
21 import org.apache.ibatis.BaseDataTest;
22 import org.apache.ibatis.io.Resources;
23 import org.apache.ibatis.session.SqlSession;
24 import org.apache.ibatis.session.SqlSessionFactory;
25 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
26 import org.junit.jupiter.api.Assertions;
27 import org.junit.jupiter.api.BeforeAll;
28 import org.junit.jupiter.api.Test;
29
30 class ParentChildTest {
31
32 private static SqlSessionFactory sqlSessionFactory;
33
34 @BeforeAll
35 static void setUp() throws Exception {
36
37 try (
38 Reader reader = Resources.getResourceAsReader("org/apache/ibatis/submitted/parent_childs/mybatis-config.xml")) {
39 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
40 }
41
42
43 BaseDataTest.runScript(sqlSessionFactory.getConfiguration().getEnvironment().getDataSource(),
44 "org/apache/ibatis/submitted/parent_childs/CreateDB.sql");
45 }
46
47 @Test
48 void shouldGet2Parents() {
49 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
50 Mapper mapper = sqlSession.getMapper(Mapper.class);
51 List<Parent> parents = mapper.getParents();
52 Assertions.assertEquals(2, parents.size());
53 Parent firstParent = parents.get(0);
54 Assertions.assertEquals("Jose", firstParent.getName());
55 Assertions.assertEquals(2, firstParent.getChilds().size());
56 Parent secondParent = parents.get(1);
57 Assertions.assertEquals("Juan", secondParent.getName());
58 Assertions.assertEquals(0, secondParent.getChilds().size());
59 }
60 }
61
62
63 @Test
64 void shouldGet2ParentsWithConstructor() {
65 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
66 Mapper mapper = sqlSession.getMapper(Mapper.class);
67 List<Parent> parents = mapper.getParentsWithConstructor();
68 Assertions.assertEquals(2, parents.size());
69 Parent firstParent = parents.get(0);
70 Assertions.assertEquals("Jose", firstParent.getName());
71 Assertions.assertEquals(2, firstParent.getChilds().size());
72 Parent secondParent = parents.get(1);
73 Assertions.assertEquals("Juan", secondParent.getName());
74 Assertions.assertEquals(0, secondParent.getChilds().size());
75 }
76 }
77
78 }