content: package com.alibaba.json.bvt;
  
  import java.io.ByteArrayInputStream;
  import java.io.InputStream;
  import java.io.StringReader;
  import java.math.BigDecimal;
  import java.math.BigInteger;
  
  import junit.framework.TestCase;
  
  import org.apache.commons.io.IOUtils;
  import org.junit.Assert;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.JSONObject;
  import com.alibaba.fastjson.TypeReference;
  
  public class JSONTest2 extends TestCase {
  
      public void test_0() throws Exception {
          StringReader reader = new StringReader("{a:1,b:2}");
          String text = IOUtils.toString(reader);
          JSONObject json = (JSONObject) JSON.parse(text);
          Assert.assertEquals(2, json.size());
          Assert.assertEquals(1, json.getIntValue("a"));
          Assert.assertEquals(2, json.getIntValue("b"));
      }
  
      public void test_1() throws Exception {
          InputStream input = new ByteArrayInputStream("{a:1,b:2}".getBytes());
          String text = IOUtils.toString(input);
          JSONObject json = (JSONObject) JSON.parse(text);
          Assert.assertEquals(2, json.size());
          Assert.assertEquals(1, json.getIntValue("a"));
          Assert.assertEquals(2, json.getIntValue("b"));
      }
  
      public void test_2() throws Exception {
          Assert.assertEquals(new Byte((byte) 1), JSON.parseObject("1", Byte.class));
          Assert.assertEquals(new Short((short) 1), JSON.parseObject("1", Short.class));
          Assert.assertEquals(new Integer((int) 1), JSON.parseObject("1", Integer.class));
          Assert.assertEquals(new Long((long) 1), JSON.parseObject("1", Long.class));
          Assert.assertEquals(new Float((float) 1), JSON.parseObject("1", Float.class));
          Assert.assertEquals(new Double((double) 1), JSON.parseObject("1", Double.class));
      }
  
      public void test_3() throws Exception {
          Assert.assertEquals(new Byte((byte) 1), JSON.parseObject("1", byte.class));
          Assert.assertEquals(new Short((short) 1), JSON.parseObject("1", short.class));
          Assert.assertEquals(new Integer((int) 1), JSON.parseObject("1", int.class));
          Assert.assertEquals(new Long((long) 1), JSON.parseObject("1", long.class));
          Assert.assertEquals(new Float((float) 1), JSON.parseObject("1", float.class));
          Assert.assertEquals(new Double((double) 1), JSON.parseObject("1", double.class));
      }
  
      public void test_4() throws Exception {
          Assert.assertEquals(new BigInteger("1"), JSON.parseObject("1", BigInteger.class));
          Assert.assertEquals(new BigDecimal("1"), JSON.parseObject("1", BigDecimal.class));
      }
  
      public void test_5() throws Exception {
          Assert.assertArrayEquals(new byte[] { 1 }, (byte[]) JSON.parseObject("[1]", byte[].class));
          Assert.assertArrayEquals(new short[] { 1 }, (short[]) JSON.parseObject("[1]", short[].class));
          Assert.assertArrayEquals(new int[] { 1 }, (int[]) JSON.parseObject("[1]", int[].class));
          Assert.assertArrayEquals(new long[] { 1 }, (long[]) JSON.parseObject("[1]", long[].class));
          float[] array1 = JSON.parseObject("[1]", float[].class);
          double[] array2 = JSON.parseObject("[1]", double[].class);
      }
  
      public void test_6() throws Exception {
          Assert.assertArrayEquals(new Byte[] { 1 }, (Byte[]) JSON.parseObject("[1]", Byte[].class));
          Assert.assertArrayEquals(new Short[] { 1 }, (Short[]) JSON.parseObject("[1]", Short[].class));
          Assert.assertArrayEquals(new Integer[] { 1 }, (Integer[]) JSON.parseObject("[1]", Integer[].class));
          Assert.assertArrayEquals(new Long[] { 1L }, (Long[]) JSON.parseObject("[1]", Long[].class));
          Float[] array1 = JSON.parseObject("[1]", Float[].class);
          Double[] array2 = JSON.parseObject("[1]", Double[].class);
      }
      
      public void test_7() throws Exception {
          Assert.assertNull(JSON.parseObject(null, new TypeReference<Integer>() {}.getType(), 0));
      }
  }
  