|
@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.enums.IEnum;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Getter;
|
|
|
import org.apache.ibatis.type.JdbcType;
|
|
|
+import org.junit.jupiter.api.Assertions;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.junit.jupiter.api.extension.ExtendWith;
|
|
|
import org.mockito.junit.jupiter.MockitoExtension;
|
|
@@ -35,36 +36,46 @@ public class MybatisEnumTypeHandlerTest extends BaseTypeHandlerTest {
|
|
|
private static final MybatisEnumTypeHandler<SexEnum> SEX_ENUM_ENUM_TYPE_HANDLER = new MybatisEnumTypeHandler<>(SexEnum.class);
|
|
|
|
|
|
private static final MybatisEnumTypeHandler<GradeEnum> GRADE_ENUM_ENUM_TYPE_HANDLER = new MybatisEnumTypeHandler<>(GradeEnum.class);
|
|
|
-
|
|
|
+
|
|
|
@Getter
|
|
|
@AllArgsConstructor
|
|
|
enum SexEnum implements IEnum<Integer> {
|
|
|
-
|
|
|
+
|
|
|
MAN(1, "1"),
|
|
|
WO_MAN(2, "2");
|
|
|
Integer code;
|
|
|
String desc;
|
|
|
-
|
|
|
+
|
|
|
@Override
|
|
|
public Integer getValue() {
|
|
|
return this.code;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@Getter
|
|
|
@AllArgsConstructor
|
|
|
enum GradeEnum {
|
|
|
-
|
|
|
+
|
|
|
PRIMARY(1, "小学"),
|
|
|
SECONDARY(2, "中学"),
|
|
|
HIGH(3, "高中");
|
|
|
-
|
|
|
+
|
|
|
@EnumValue
|
|
|
private final int code;
|
|
|
-
|
|
|
+
|
|
|
private final String desc;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void dealEnumType(){
|
|
|
+ Assertions.assertFalse(MybatisEnumTypeHandler.dealEnumType(String.class).isPresent());
|
|
|
+ Assertions.assertTrue(MybatisEnumTypeHandler.dealEnumType(GradeEnum.class).isPresent());
|
|
|
+ Assertions.assertFalse(MybatisEnumTypeHandler.dealEnumType(SexEnum.class).isPresent());
|
|
|
+ Assertions.assertFalse(MybatisEnumTypeHandler.findEnumValueFiledName(String.class).isPresent());
|
|
|
+ Assertions.assertTrue(MybatisEnumTypeHandler.findEnumValueFiledName(GradeEnum.class).isPresent());
|
|
|
+ Assertions.assertFalse(MybatisEnumTypeHandler.findEnumValueFiledName(SexEnum.class).isPresent());
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
@Override
|
|
|
public void setParameter() throws Exception {
|
|
@@ -74,7 +85,7 @@ public class MybatisEnumTypeHandlerTest extends BaseTypeHandlerTest {
|
|
|
verify(preparedStatement).setObject(2, 2);
|
|
|
SEX_ENUM_ENUM_TYPE_HANDLER.setParameter(preparedStatement, 3, null, JdbcType.INTEGER);
|
|
|
verify(preparedStatement).setNull(3, JdbcType.INTEGER.TYPE_CODE);
|
|
|
-
|
|
|
+
|
|
|
GRADE_ENUM_ENUM_TYPE_HANDLER.setParameter(preparedStatement, 4, GradeEnum.PRIMARY, null);
|
|
|
verify(preparedStatement).setObject(4, 1);
|
|
|
GRADE_ENUM_ENUM_TYPE_HANDLER.setParameter(preparedStatement, 5, GradeEnum.SECONDARY, null);
|
|
@@ -82,7 +93,7 @@ public class MybatisEnumTypeHandlerTest extends BaseTypeHandlerTest {
|
|
|
GRADE_ENUM_ENUM_TYPE_HANDLER.setParameter(preparedStatement, 6, null, JdbcType.INTEGER);
|
|
|
verify(preparedStatement).setNull(6, JdbcType.INTEGER.TYPE_CODE);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@Test
|
|
|
@Override
|
|
|
public void getResultFromResultSetByColumnName() throws Exception {
|
|
@@ -93,14 +104,14 @@ public class MybatisEnumTypeHandlerTest extends BaseTypeHandlerTest {
|
|
|
when(resultSet.getObject("column")).thenReturn(2);
|
|
|
assertEquals(SexEnum.WO_MAN, SEX_ENUM_ENUM_TYPE_HANDLER.getResult(resultSet, "column"));
|
|
|
when(resultSet.getObject("column")).thenReturn(null);
|
|
|
-
|
|
|
+
|
|
|
assertNull(GRADE_ENUM_ENUM_TYPE_HANDLER.getResult(resultSet, "column"));
|
|
|
when(resultSet.getObject("column")).thenReturn(1);
|
|
|
assertEquals(GradeEnum.PRIMARY, GRADE_ENUM_ENUM_TYPE_HANDLER.getResult(resultSet, "column"));
|
|
|
when(resultSet.getObject("column")).thenReturn(2);
|
|
|
assertEquals(GradeEnum.SECONDARY, GRADE_ENUM_ENUM_TYPE_HANDLER.getResult(resultSet, "column"));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@Test
|
|
|
@Override
|
|
|
public void getResultFromResultSetByColumnIndex() throws Exception {
|
|
@@ -110,7 +121,7 @@ public class MybatisEnumTypeHandlerTest extends BaseTypeHandlerTest {
|
|
|
assertEquals(SexEnum.WO_MAN, SEX_ENUM_ENUM_TYPE_HANDLER.getResult(resultSet, 2));
|
|
|
when(resultSet.getObject(3)).thenReturn(null);
|
|
|
assertNull(SEX_ENUM_ENUM_TYPE_HANDLER.getResult(resultSet, 3));
|
|
|
-
|
|
|
+
|
|
|
when(resultSet.getObject(4)).thenReturn(1);
|
|
|
assertEquals(GradeEnum.PRIMARY, GRADE_ENUM_ENUM_TYPE_HANDLER.getResult(resultSet, 4));
|
|
|
when(resultSet.getObject(5)).thenReturn(2);
|
|
@@ -118,7 +129,7 @@ public class MybatisEnumTypeHandlerTest extends BaseTypeHandlerTest {
|
|
|
when(resultSet.getObject(6)).thenReturn(null);
|
|
|
assertNull(GRADE_ENUM_ENUM_TYPE_HANDLER.getResult(resultSet, 6));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
@Test
|
|
|
@Override
|
|
|
public void getResultFromCallableStatement() throws Exception {
|
|
@@ -128,7 +139,7 @@ public class MybatisEnumTypeHandlerTest extends BaseTypeHandlerTest {
|
|
|
assertEquals(SexEnum.WO_MAN, SEX_ENUM_ENUM_TYPE_HANDLER.getResult(callableStatement, 2));
|
|
|
when(callableStatement.getObject(3)).thenReturn(null);
|
|
|
assertNull(SEX_ENUM_ENUM_TYPE_HANDLER.getResult(callableStatement, 3));
|
|
|
-
|
|
|
+
|
|
|
when(callableStatement.getObject(4)).thenReturn(1);
|
|
|
assertEquals(GradeEnum.PRIMARY, GRADE_ENUM_ENUM_TYPE_HANDLER.getResult(callableStatement, 4));
|
|
|
when(callableStatement.getObject(5)).thenReturn(2);
|
|
@@ -136,5 +147,5 @@ public class MybatisEnumTypeHandlerTest extends BaseTypeHandlerTest {
|
|
|
when(callableStatement.getObject(6)).thenReturn(null);
|
|
|
assertNull(GRADE_ENUM_ENUM_TYPE_HANDLER.getResult(callableStatement, 6));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|