content: package com.alibaba.json.bvt.parser.deser;
  
  import java.util.HashMap;
  import java.util.List;
  
  import junit.framework.Assert;
  import junit.framework.TestCase;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.TypeReference;
  
  public class DefaultObjectDeserializerTest_collection extends TestCase {
  
  	public void test_0() throws Exception {
  		String input = "[{}]";
  
  		List<HashMap> map = JSON.parseObject(input,
  				new TypeReference<List<HashMap>>() {
  				}.getType());
  
  		Assert.assertEquals(HashMap.class, map.get(0).getClass());
  	}
  
  	public void test_1() throws Exception {
  		String input = "{}";
  
  		BO<HashMap> map = JSON.parseObject(input,
  				new TypeReference<BO<HashMap>>() {
  				}.getType());
  	}
  
  	public void test_2() throws Exception {
  
  		Exception error = null;
  		try {
  			String input = "{'map':{}}";
  
  			MyMap<String, HashMap> map = JSON.parseObject(input,
  					new TypeReference<MyMap<String, HashMap>>() {
  					}.getType());
  		} catch (Exception ex) {
  			error = ex;
  		}
  		Assert.assertNotNull(error);
  	}
  
  	public static class BO<T> {
  
  	}
  
  	public static class MyMap<K, V> extends HashMap {
  
  		public MyMap() {
  			throw new RuntimeException();
  		}
  
  	}
  }
  