1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.parametrizedlist;
17
18 import java.io.Reader;
19 import java.util.List;
20 import java.util.Map;
21
22 import org.apache.ibatis.BaseDataTest;
23 import org.apache.ibatis.io.Resources;
24 import org.apache.ibatis.session.SqlSession;
25 import org.apache.ibatis.session.SqlSessionFactory;
26 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
27 import org.junit.jupiter.api.Assertions;
28 import org.junit.jupiter.api.BeforeEach;
29 import org.junit.jupiter.api.Test;
30
31 class ParametrizedListTest {
32
33 private SqlSessionFactory sqlSessionFactory;
34
35 @BeforeEach
36 void setUp() throws Exception {
37 try (Reader reader = Resources.getResourceAsReader("org/apache/ibatis/submitted/parametrizedlist/Config.xml")) {
38 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
39 }
40
41 BaseDataTest.runScript(sqlSessionFactory.getConfiguration().getEnvironment().getDataSource(),
42 "org/apache/ibatis/submitted/parametrizedlist/CreateDB.sql");
43 }
44
45 @Test
46 void testShouldDetectUsersAsParameterInsideAList() {
47 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
48 Mapper mapper = sqlSession.getMapper(Mapper.class);
49 List<User<String>> list = mapper.getAListOfUsers();
50 Assertions.assertEquals(User.class, list.get(0).getClass());
51 }
52 }
53
54 @Test
55 void testShouldDetectUsersAsParameterInsideAMap() {
56 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
57 Mapper mapper = sqlSession.getMapper(Mapper.class);
58 Map<Integer, User<String>> map = mapper.getAMapOfUsers();
59 Assertions.assertEquals(User.class, map.get(1).getClass());
60 }
61 }
62
63 @Test
64 void testShouldGetAUserAsAMap() {
65 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
66 Mapper mapper = sqlSession.getMapper(Mapper.class);
67 Map<String, Object> map = mapper.getUserAsAMap();
68 Assertions.assertEquals(1, map.get("ID"));
69 }
70 }
71
72 @Test
73 void testShouldGetAListOfMaps() {
74 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
75 Mapper mapper = sqlSession.getMapper(Mapper.class);
76 List<Map<String, Object>> map = mapper.getAListOfMaps();
77 Assertions.assertEquals(1, map.get(0).get("ID"));
78 }
79 }
80
81 }