@@ -0,0 +1,1885 @@
+package org.msgpack;%0A%0Aimport junit.framework.Assert;%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0Aimport org.msgpack.annotation.Message;%0Aimport org.msgpack.type.ArrayValue;%0Aimport org.msgpack.type.Value;%0A%0Aimport java.io.IOException;%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0A/**%0A * User: takeshita%0A * Create: 11/10/17 23:17%0A */%0Apublic class TestNestedList %7B%0A%0A    MessagePack messagePack;%0A%0A    @Before%0A    public void before()%7B%0A        messagePack = new MessagePack();%0A    %7D%0A%0A    @Test%0A    public void testTestNestedList() throws IOException %7B%0A        NestedList obj = new NestedList();%0A        obj.list.add(list(%22aaa%22, %22bbb%22));%0A        obj.list.add(list(new MyClass(%22obj1%22), new MyClass(%22obj2%22)));%0A%0A        byte%5B%5D bytes = messagePack.write(obj);%0A%0A        // Can't unpack as NestedList%0A        Value unpacked = messagePack.read(bytes);%0A        ArrayValue root = unpacked.asArrayValue();%0A        ArrayValue list1 = root.getElementArray()%5B0%5D.asArrayValue();%0A        ArrayValue list2 = root.getElementArray()%5B1%5D.asArrayValue();%0A%0A        Assert.assertEquals(%22aaa%22,list1.getElementArray()%5B0%5D.asIntegerValue().getInt());%0A        Assert.assertEquals(%22bbb%22,list1.getElementArray()%5B1%5D.asIntegerValue().getInt());%0A        Assert.assertEquals(%22obj1%22,messagePack.convert(list2.getElementArray()%5B0%5D,MyClass.class).name);%0A        Assert.assertEquals(%22obj2%22,messagePack.convert(list2.getElementArray()%5B1%5D,MyClass.class).name);%0A%0A    %7D%0A%0A    private List%3C?%3E list( Object ... elements)%7B%0A        List%3CObject%3E list = new ArrayList();%0A        for(Object o : elements)%7B%0A            list.add(o);%0A        %7D%0A        return list;%0A    %7D%0A%0A    @Message%0A    public static class NestedList%7B%0A        public List%3CList%3E list = new ArrayList%3CList%3E();%0A%0A    %7D%0A%0A    @Message%0A    public static class MyClass%7B%0A        String name;%0A%0A        public MyClass()%7B%7D%0A        public MyClass(String n )%7B name = n;%7D%0A    %7D%0A%0A%7D%0A

Add new test case which serialize nested list.