@@ -0,0 +1,2983 @@
+package com.alibaba.json.bvt.parser.deser;%0A%0Aimport java.util.HashSet;%0Aimport java.util.LinkedHashSet;%0Aimport java.util.Set;%0Aimport java.util.TreeSet;%0A%0Aimport junit.framework.Assert;%0Aimport junit.framework.TestCase;%0A%0Aimport com.alibaba.fastjson.JSON;%0A%0Apublic class CollectionDeserializerTest extends TestCase %7B%0A    public void test_set() throws Exception %7B%0A        Assert.assertEquals(HashSet.class, JSON.parseObject(%22%7Bvalue:%5B%5D%7D%22, VO.class).getValue().getClass());%0A        Assert.assertEquals(HashSet.class, JSON.parseObject(%22%5B%5D%22, Set.class).getClass());%0A        Assert.assertEquals(null, JSON.parseObject(%22%7Bvalue:null%7D%22, VO.class).getValue());%0A        Assert.assertEquals(null, JSON.parseObject(%22null%22, Set.class));%0A    %7D%0A    %0A    public void test_hashset() throws Exception %7B%0A        Assert.assertEquals(HashSet.class, JSON.parseObject(%22%7Bvalue:%5B%5D%7D%22, V1.class).getValue().getClass());%0A        Assert.assertEquals(HashSet.class, JSON.parseObject(%22%5B%5D%22, HashSet.class).getClass());%0A        Assert.assertEquals(null, JSON.parseObject(%22%7Bvalue:null%7D%22, V1.class).getValue());%0A        Assert.assertEquals(null, JSON.parseObject(%22null%22, HashSet.class));%0A    %7D%0A    %0A    public void test_linkedhashset() throws Exception %7B%0A        Assert.assertEquals(LinkedHashSet.class, JSON.parseObject(%22%7Bvalue:%5B%5D%7D%22, V2.class).getValue().getClass());%0A        Assert.assertEquals(LinkedHashSet.class, JSON.parseObject(%22%5B%5D%22, LinkedHashSet.class).getClass());%0A        Assert.assertEquals(null, JSON.parseObject(%22%7Bvalue:null%7D%22, V2.class).getValue());%0A        Assert.assertEquals(null, JSON.parseObject(%22null%22, LinkedHashSet.class));%0A    %7D%0A    %0A    public void test_treeset() throws Exception %7B%0A        Assert.assertEquals(TreeSet.class, JSON.parseObject(%22%7Bvalue:%5B%5D%7D%22, V3.class).getValue().getClass());%0A        Assert.assertEquals(TreeSet.class, JSON.parseObject(%22%5B%5D%22, TreeSet.class).getClass());%0A        Assert.assertEquals(null, JSON.parseObject(%22%7Bvalue:null%7D%22, V3.class).getValue());%0A        Assert.assertEquals(null, JSON.parseObject(%22null%22, TreeSet.class));%0A    %7D%0A    %0A    public static class VO %7B%0A%0A        private Set value;%0A%0A        public Set getValue() %7B%0A            return value;%0A        %7D%0A%0A        public void setValue(Set value) %7B%0A            this.value = value;%0A        %7D%0A%0A    %7D%0A%0A    public static class V1 %7B%0A%0A        private HashSet value;%0A%0A        public HashSet getValue() %7B%0A            return value;%0A        %7D%0A%0A        public void setValue(HashSet value) %7B%0A            this.value = value;%0A        %7D%0A%0A    %7D%0A    %0A    public static class V2 %7B%0A%0A        private LinkedHashSet value;%0A%0A        public LinkedHashSet getValue() %7B%0A            return value;%0A        %7D%0A%0A        public void setValue(LinkedHashSet value) %7B%0A            this.value = value;%0A        %7D%0A%0A    %7D%0A    %0A    public static class V3 %7B%0A%0A        private TreeSet value;%0A%0A        public TreeSet getValue() %7B%0A            return value;%0A        %7D%0A%0A        public void setValue(TreeSet value) %7B%0A            this.value = value;%0A        %7D%0A%0A    %7D%0A%7D%0A

add testcase