1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.enum_interface_type_handler;
17
18 import static org.junit.jupiter.api.Assertions.assertEquals;
19
20 import java.io.Reader;
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.BeforeAll;
28 import org.junit.jupiter.api.Test;
29
30 class EnumInterfaceTypeHandlerTest {
31
32 private static SqlSessionFactory sqlSessionFactory;
33
34 @BeforeAll
35 static void setUp() throws Exception {
36
37 try (Reader reader = Resources
38 .getResourceAsReader("org/apache/ibatis/submitted/enum_interface_type_handler/mybatis-config.xml")) {
39 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
40 }
41
42
43 BaseDataTest.runScript(sqlSessionFactory.getConfiguration().getEnvironment().getDataSource(),
44 "org/apache/ibatis/submitted/enum_interface_type_handler/CreateDB.sql");
45 }
46
47 @Test
48 void shouldGetAUser() {
49 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
50 Mapper mapper = sqlSession.getMapper(Mapper.class);
51 User user = mapper.getUser(1);
52 assertEquals(Color.RED, user.getColor());
53 }
54 }
55
56 @Test
57 void shouldInsertAUser() {
58 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
59 Mapper mapper = sqlSession.getMapper(Mapper.class);
60 User user = new User();
61 user.setId(2);
62 user.setColor(Color.BLUE);
63 mapper.insertUser(user);
64 User result = mapper.getUser(2);
65 assertEquals(Color.BLUE, result.getColor());
66 }
67 }
68
69 @Test
70 void shouldInsertAUserWithoutParameterTypeInXmlElement() {
71 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
72 XmlMapper mapper = sqlSession.getMapper(XmlMapper.class);
73 User user = new User();
74 user.setId(2);
75 user.setColor(Color.BLUE);
76 mapper.insertUser(user);
77 User result = sqlSession.getMapper(Mapper.class).getUser(2);
78 assertEquals(Color.BLUE, result.getColor());
79 }
80 }
81
82 }