package com.alibaba.json.bvt.parser; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.Calendar; import java.util.List; import junit.framework.TestCase; import org.junit.Assert; import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.util.TypeUtils; public class TypeUtilsTest_cast extends TestCase { public void test_cast_0() throws Exception { Assert.assertArrayEquals(new byte[0], TypeUtils.cast(new byte[0], byte[].class, null)); } public void test_cast_1() throws Exception { ParameterizedType parameterizedType = (ParameterizedType) new TypeReference<List<?>>() {}.getType(); Type type = parameterizedType.getActualTypeArguments()[0]; Assert.assertEquals(null, TypeUtils.cast("", type, null)); } public void test_castToDate_error() throws Exception { Exception error = null; try { TypeUtils.cast(0, MyCalendar.class, null); } catch (Exception ex) { error = ex; } Assert.assertNotNull(error); } public void test_castToDate_error_nullClass() throws Exception { Exception error = null; try { TypeUtils.cast(0, (Class<?>) null, null); } catch (Exception ex) { error = ex; } Assert.assertNotNull(error); } @SuppressWarnings("serial") private class MyCalendar extends Calendar { @Override protected void computeTime() { // TODO Auto-generated method stub } @Override protected void computeFields() { // TODO Auto-generated method stub } @Override public void add(int field, int amount) { // TODO Auto-generated method stub } @Override public void roll(int field, boolean up) { // TODO Auto-generated method stub } @Override public int getMinimum(int field) { // TODO Auto-generated method stub return 0; } @Override public int getMaximum(int field) { // TODO Auto-generated method stub return 0; } @Override public int getGreatestMinimum(int field) { // TODO Auto-generated method stub return 0; } @Override public int getLeastMaximum(int field) { // TODO Auto-generated method stub return 0; } } }