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)); } }