package org.jsondoc.core.util; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Set; import org.jsondoc.core.pojo.JSONDocTemplate; import org.jsondoc.core.util.pojo.TemplateObject; import org.junit.Assert; import org.junit.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Sets; public class JSONDocTemplateBuilderTest { @Test public void testTemplate() throws IOException, IllegalArgumentException, IllegalAccessException, InstantiationException { ObjectMapper mapper = new ObjectMapper(); Set<Class<?>> classes = Sets.<Class<?>>newHashSet(TemplateObject.class); Map<String, Object> template = JSONDocTemplateBuilder.build(TemplateObject.class, classes); Assert.assertEquals(0, template.get("my_id")); Assert.assertEquals(0, template.get("idint")); Assert.assertEquals(0, template.get("idlong")); Assert.assertEquals("", template.get("name")); Assert.assertEquals("", template.get("gender")); Assert.assertEquals(true, template.get("bool")); Assert.assertEquals(new ArrayList(), template.get("intarrarr")); Assert.assertEquals(new JSONDocTemplate(), template.get("sub_obj")); Assert.assertEquals(new ArrayList(), template.get("untypedlist")); Assert.assertEquals(new ArrayList(), template.get("subsubobjarr")); Assert.assertEquals(new ArrayList(), template.get("stringlist")); Assert.assertEquals(new ArrayList(), template.get("stringarrarr")); Assert.assertEquals(new ArrayList(), template.get("integerarr")); Assert.assertEquals(new ArrayList(), template.get("stringarr")); Assert.assertEquals(new ArrayList(), template.get("intarr")); Assert.assertEquals(new ArrayList(), template.get("subobjlist")); Assert.assertEquals(new ArrayList(), template.get("wildcardlist")); Assert.assertEquals(new ArrayList(), template.get("longlist")); Assert.assertEquals("", template.get("namechar")); Assert.assertEquals(new HashMap(), template.get("map")); Assert.assertEquals(new HashMap(), template.get("mapstringinteger")); Assert.assertEquals(new HashMap(), template.get("mapsubobjinteger")); Assert.assertEquals(new HashMap(), template.get("mapintegersubobj")); Assert.assertEquals(new HashMap(), template.get("mapintegerlistsubsubobj")); System.out.println(mapper.writeValueAsString(template)); } }