package com.alibaba.json.bvt.parser; import java.lang.reflect.ParameterizedType; import java.util.List; import org.junit.Assert; import junit.framework.TestCase; import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.util.TypeUtils; public class TypeUtilsTest2 extends TestCase { public void test_0() throws Exception { Assert.assertNull(TypeUtils.cast("", Entity.class, null)); Assert.assertNull(TypeUtils.cast("", Type.class, null)); Assert.assertNull(TypeUtils.cast("", Byte.class, null)); Assert.assertNull(TypeUtils.cast("", Short.class, null)); Assert.assertNull(TypeUtils.cast("", Integer.class, null)); Assert.assertNull(TypeUtils.cast("", Long.class, null)); Assert.assertNull(TypeUtils.cast("", Float.class, null)); Assert.assertNull(TypeUtils.cast("", Double.class, null)); Assert.assertNull(TypeUtils.cast("", Character.class, null)); Assert.assertNull(TypeUtils.cast("", java.util.Date.class, null)); Assert.assertNull(TypeUtils.cast("", java.sql.Date.class, null)); Assert.assertNull(TypeUtils.cast("", java.sql.Timestamp.class, null)); Assert.assertNull(TypeUtils.castToChar("")); Assert.assertNull(TypeUtils.castToChar(null)); Assert.assertEquals('A', TypeUtils.castToChar('A').charValue()); Assert.assertEquals('A', TypeUtils.castToChar("A").charValue()); Assert.assertNull(TypeUtils.castToBigDecimal("")); Assert.assertNull(TypeUtils.castToBigInteger("")); Assert.assertNull(TypeUtils.castToBoolean("")); Assert.assertNull(TypeUtils.castToEnum("", Type.class, null)); Assert.assertEquals(null, TypeUtils.cast("", new TypeReference<Pair<Object, Object>>() { }.getType(), null)); } public void test_1() throws Exception { Assert.assertEquals(null, TypeUtils.cast("", new TypeReference<List<Object>>() { }.getType(), null)); } public void test_error_2() throws Exception { Exception error = null; try { Assert.assertEquals(null, TypeUtils.cast("a", new TypeReference<List<Object>>() { }.getType(), null)); } catch (JSONException e) { error = e; } Assert.assertNotNull(error); } public void test_error_3() throws Exception { Exception error = null; try { Assert.assertEquals(null, TypeUtils.cast("a", new TypeReference<Pair<Object, Object>>() { }.getType(), null)); } catch (JSONException e) { error = e; } Assert.assertNotNull(error); } public void test_error_4() throws Exception { Exception error = null; try { Assert.assertEquals(null, TypeUtils.cast("a", ((ParameterizedType) new TypeReference<List<?>>() { }.getType()).getActualTypeArguments()[0], null)); } catch (JSONException e) { error = e; } Assert.assertNotNull(error); } public void test_error_0() throws Exception { Exception error = null; try { TypeUtils.castToChar("abc"); } catch (JSONException e) { error = e; } Assert.assertNotNull(error); } public void test_error_1() throws Exception { Exception error = null; try { TypeUtils.castToChar(true); } catch (JSONException e) { error = e; } Assert.assertNotNull(error); } public static class Entity { } public static class Pair<K, V> { } public static enum Type { A, B, C } }