package nebula.data.json; import java.io.StringReader; import junit.framework.TestCase; import nebula.data.Entity; import nebula.lang.Type; import nebula.lang.TypeLoaderForTest; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonParser; public class EntityMenuJsonDataDealerTest extends TestCase { TypeLoaderForTest loader; Type type; JsonFactory factory; EntitySerializer entityMerger; protected void setUp() throws Exception { super.setUp(); factory = new JsonFactory(); loader = new TypeLoaderForTest(); } protected void tearDown() throws Exception { super.tearDown(); } public final void test_SimpleType_readJsonParserString() throws Exception { // Type For Test //@formatter:off String textRef = "" + "type Icon {" + " !Name;" + " IconGroup Attr;" + "};"; String text = "" + "type MenuBar {" + " !Name;" + " Menu[]{" + " !Name;" + " Icon;" + " URL;" + " };" + "};"; //@formatter:on type = loader.testDefineNebula(new StringReader(textRef)).get(0); type = loader.testDefineNebula(new StringReader(text)).get(0); entityMerger = new EntitySerializer(type); // Type For Test //@formatter:off String txtData = "{\"Name\":\"TestMenuBar_Name\",\"Menus_new\":{\"Name\":\"SubMenu001Name001\",\"IconName\":\"icon-angle-left\",\"URL\":\"ddsfs\"}}"; //@formatter:on StringReader in = new StringReader(txtData); JsonParser jsonParser = factory.createJsonParser(in); Entity data = entityMerger.readFrom(null, jsonParser); assertNotNull(data); assertEquals("TestMenuBar_Name", data.get("Name")); } }