mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix converter
This commit is contained in:
@@ -10,26 +10,26 @@ import java.lang.reflect.Type;
|
||||
* @author Looly
|
||||
*
|
||||
*/
|
||||
public class ConverterRegistryTest {
|
||||
public class CompositeConverterTest {
|
||||
|
||||
@Test
|
||||
public void getConverterTest() {
|
||||
final Converter converter = ConverterRegistry.getInstance().getConverter(CharSequence.class, false);
|
||||
final Converter converter = CompositeConverter.getInstance().getConverter(CharSequence.class, false);
|
||||
Assert.assertNotNull(converter);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void customTest(){
|
||||
final int a = 454553;
|
||||
final ConverterRegistry converterRegistry = ConverterRegistry.getInstance();
|
||||
final CompositeConverter compositeConverter = CompositeConverter.getInstance();
|
||||
|
||||
CharSequence result = converterRegistry.convert(CharSequence.class, a);
|
||||
CharSequence result = (CharSequence) compositeConverter.convert(CharSequence.class, a);
|
||||
Assert.assertEquals("454553", result);
|
||||
|
||||
//此处做为示例自定义CharSequence转换,因为Hutool中已经提供CharSequence转换,请尽量不要替换
|
||||
//替换可能引发关联转换异常(例如覆盖CharSequence转换会影响全局)
|
||||
converterRegistry.putCustom(CharSequence.class, new CustomConverter());
|
||||
result = converterRegistry.convert(CharSequence.class, a);
|
||||
compositeConverter.putCustom(CharSequence.class, new CustomConverter());
|
||||
result = (CharSequence) compositeConverter.convert(CharSequence.class, a);
|
||||
Assert.assertEquals("Custom: 454553", result);
|
||||
}
|
||||
|
@@ -81,28 +81,28 @@ public class ConvertTest {
|
||||
final String a = " 34232";
|
||||
final Integer aInteger = Convert.toInt(a);
|
||||
Assert.assertEquals(Integer.valueOf(34232), aInteger);
|
||||
final int aInt = ConverterRegistry.getInstance().convert(int.class, a);
|
||||
final int aInt = (int) CompositeConverter.getInstance().convert(int.class, a);
|
||||
Assert.assertEquals(34232, aInt);
|
||||
|
||||
// 带小数测试
|
||||
final String b = " 34232.00";
|
||||
final Integer bInteger = Convert.toInt(b);
|
||||
Assert.assertEquals(Integer.valueOf(34232), bInteger);
|
||||
final int bInt = ConverterRegistry.getInstance().convert(int.class, b);
|
||||
final int bInt = (int) CompositeConverter.getInstance().convert(int.class, b);
|
||||
Assert.assertEquals(34232, bInt);
|
||||
|
||||
// boolean测试
|
||||
final boolean c = true;
|
||||
final Integer cInteger = Convert.toInt(c);
|
||||
Assert.assertEquals(Integer.valueOf(1), cInteger);
|
||||
final int cInt = ConverterRegistry.getInstance().convert(int.class, c);
|
||||
final int cInt = (int) CompositeConverter.getInstance().convert(int.class, c);
|
||||
Assert.assertEquals(1, cInt);
|
||||
|
||||
// boolean测试
|
||||
final String d = "08";
|
||||
final Integer dInteger = Convert.toInt(d);
|
||||
Assert.assertEquals(Integer.valueOf(8), dInteger);
|
||||
final int dInt = ConverterRegistry.getInstance().convert(int.class, d);
|
||||
final int dInt = (int) CompositeConverter.getInstance().convert(int.class, d);
|
||||
Assert.assertEquals(8, dInt);
|
||||
}
|
||||
|
||||
@@ -124,28 +124,28 @@ public class ConvertTest {
|
||||
final String a = " 342324545435435";
|
||||
final Long aLong = Convert.toLong(a);
|
||||
Assert.assertEquals(Long.valueOf(342324545435435L), aLong);
|
||||
final long aLong2 = ConverterRegistry.getInstance().convert(long.class, a);
|
||||
final long aLong2 = (long) CompositeConverter.getInstance().convert(long.class, a);
|
||||
Assert.assertEquals(342324545435435L, aLong2);
|
||||
|
||||
// 带小数测试
|
||||
final String b = " 342324545435435.245435435";
|
||||
final Long bLong = Convert.toLong(b);
|
||||
Assert.assertEquals(Long.valueOf(342324545435435L), bLong);
|
||||
final long bLong2 = ConverterRegistry.getInstance().convert(long.class, b);
|
||||
final long bLong2 = (long) CompositeConverter.getInstance().convert(long.class, b);
|
||||
Assert.assertEquals(342324545435435L, bLong2);
|
||||
|
||||
// boolean测试
|
||||
final boolean c = true;
|
||||
final Long cLong = Convert.toLong(c);
|
||||
Assert.assertEquals(Long.valueOf(1), cLong);
|
||||
final long cLong2 = ConverterRegistry.getInstance().convert(long.class, c);
|
||||
final long cLong2 = (long) CompositeConverter.getInstance().convert(long.class, c);
|
||||
Assert.assertEquals(1, cLong2);
|
||||
|
||||
// boolean测试
|
||||
final String d = "08";
|
||||
final Long dLong = Convert.toLong(d);
|
||||
Assert.assertEquals(Long.valueOf(8), dLong);
|
||||
final long dLong2 = ConverterRegistry.getInstance().convert(long.class, d);
|
||||
final long dLong2 = (long) CompositeConverter.getInstance().convert(long.class, d);
|
||||
Assert.assertEquals(8, dLong2);
|
||||
}
|
||||
|
||||
|
@@ -79,11 +79,11 @@ public class ConvertToArrayTest {
|
||||
|
||||
//数组转数组测试
|
||||
final int[] a = new int[]{1,2,3,4};
|
||||
final long[] result = ConverterRegistry.getInstance().convert(long[].class, a);
|
||||
final long[] result = (long[]) CompositeConverter.getInstance().convert(long[].class, a);
|
||||
Assert.assertArrayEquals(new long[]{1L, 2L, 3L, 4L}, result);
|
||||
|
||||
//数组转数组测试
|
||||
final byte[] resultBytes = ConverterRegistry.getInstance().convert(byte[].class, a);
|
||||
final byte[] resultBytes = (byte[]) CompositeConverter.getInstance().convert(byte[].class, a);
|
||||
Assert.assertArrayEquals(new byte[]{1, 2, 3, 4}, resultBytes);
|
||||
|
||||
//字符串转数组
|
||||
|
Reference in New Issue
Block a user