1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.type;
17
18 import static org.junit.jupiter.api.Assertions.assertEquals;
19 import static org.junit.jupiter.api.Assertions.assertNull;
20 import static org.mockito.Mockito.never;
21 import static org.mockito.Mockito.verify;
22 import static org.mockito.Mockito.when;
23
24 import org.junit.jupiter.api.Test;
25
26 class CharacterTypeHandlerTest extends BaseTypeHandlerTest {
27
28 private static final TypeHandler<Character> TYPE_HANDLER = new CharacterTypeHandler();
29
30 @Override
31 @Test
32 public void shouldSetParameter() throws Exception {
33 TYPE_HANDLER.setParameter(ps, 1, 'a', null);
34 verify(ps).setString(1, "a");
35 }
36
37 @Test
38 public void shouldSetNullParameter() throws Exception {
39 TYPE_HANDLER.setParameter(ps, 1, null, JdbcType.VARCHAR);
40 verify(ps).setNull(1, JdbcType.VARCHAR.TYPE_CODE);
41 }
42
43 @Override
44 @Test
45 public void shouldGetResultFromResultSetByName() throws Exception {
46 when(rs.getString("column")).thenReturn("a");
47 assertEquals(Character.valueOf('a'), TYPE_HANDLER.getResult(rs, "column"));
48 verify(rs, never()).wasNull();
49 }
50
51 @Override
52 @Test
53 public void shouldGetResultNullFromResultSetByName() throws Exception {
54 when(rs.getString("column")).thenReturn(null);
55 assertNull(TYPE_HANDLER.getResult(rs, "column"));
56 verify(rs, never()).wasNull();
57 }
58
59 @Override
60 @Test
61 public void shouldGetResultFromResultSetByPosition() throws Exception {
62 when(rs.getString(1)).thenReturn("a");
63 assertEquals(Character.valueOf('a'), TYPE_HANDLER.getResult(rs, 1));
64 verify(rs, never()).wasNull();
65 }
66
67 @Override
68 @Test
69 public void shouldGetResultNullFromResultSetByPosition() throws Exception {
70 when(rs.getString(1)).thenReturn(null);
71 assertNull(TYPE_HANDLER.getResult(rs, 1));
72 verify(rs, never()).wasNull();
73 }
74
75 @Override
76 @Test
77 public void shouldGetResultFromCallableStatement() throws Exception {
78 when(cs.getString(1)).thenReturn("a");
79 assertEquals(Character.valueOf('a'), TYPE_HANDLER.getResult(cs, 1));
80 verify(cs, never()).wasNull();
81 }
82
83 @Override
84 @Test
85 public void shouldGetResultNullFromCallableStatement() throws Exception {
86 when(cs.getString(1)).thenReturn(null);
87 assertNull(TYPE_HANDLER.getResult(cs, 1));
88 verify(cs, never()).wasNull();
89 }
90
91 @Test
92 void testEmptyStringGetStringByName() throws Exception {
93 when(rs.getString("column")).thenReturn("");
94 assertNull(TYPE_HANDLER.getResult(rs, "column"));
95 verify(rs, never()).wasNull();
96 }
97
98 @Test
99 void testEmptyStringGetStringByIndex() throws Exception {
100 when(rs.getString(1)).thenReturn("");
101 assertNull(TYPE_HANDLER.getResult(rs, 1));
102 verify(rs, never()).wasNull();
103 }
104
105 @Test
106 void testEmptyStringCallableStatementGetStringByIndex() throws Exception {
107 when(cs.getString(1)).thenReturn("");
108 assertNull(TYPE_HANDLER.getResult(cs, 1));
109 verify(cs, never()).wasNull();
110 }
111 }