1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.lazy_immutable;
17
18 import static org.junit.jupiter.api.Assertions.assertEquals;
19 import static org.junit.jupiter.api.Assertions.assertNotEquals;
20 import static org.junit.jupiter.api.Assertions.assertNotNull;
21
22 import java.io.Reader;
23
24 import org.apache.ibatis.BaseDataTest;
25 import org.apache.ibatis.io.Resources;
26 import org.apache.ibatis.session.SqlSession;
27 import org.apache.ibatis.session.SqlSessionFactory;
28 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
29 import org.junit.jupiter.api.BeforeAll;
30 import org.junit.jupiter.api.Test;
31
32 final class ImmutablePOJOTest {
33
34 private static final Integer POJO_ID = 1;
35 private static SqlSessionFactory factory;
36
37 @BeforeAll
38 static void setupClass() throws Exception {
39 try (Reader reader = Resources.getResourceAsReader("org/apache/ibatis/submitted/lazy_immutable/ibatisConfig.xml")) {
40 factory = new SqlSessionFactoryBuilder().build(reader);
41 }
42
43 BaseDataTest.runScript(factory.getConfiguration().getEnvironment().getDataSource(),
44 "org/apache/ibatis/submitted/lazy_immutable/CreateDB.sql");
45 }
46
47 @Test
48 void testLoadLazyImmutablePOJO() {
49 try (SqlSession session = factory.openSession()) {
50 final ImmutablePOJOMapper mapper = session.getMapper(ImmutablePOJOMapper.class);
51 final ImmutablePOJO pojo = mapper.getImmutablePOJO(POJO_ID);
52
53 assertEquals(POJO_ID, pojo.getId());
54 assertNotNull(pojo.getDescription(), "Description should not be null.");
55 assertNotEquals(0, pojo.getDescription().length(), "Description should not be empty.");
56 }
57 }
58
59 }