package com.jsoniter.output; import com.jsoniter.spi.TypeLiteral; import junit.framework.TestCase; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class TestMap extends TestCase { static { // JsonStream.setMode(EncodingMode.DYNAMIC_MODE); } private ByteArrayOutputStream baos; private JsonStream stream; public void setUp() { baos = new ByteArrayOutputStream(); stream = new JsonStream(baos, 4096); } public void test() throws IOException { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("hello", "world"); stream.writeVal(map); stream.close(); assertEquals("{'hello':'world'}".replace('\'', '"'), baos.toString()); } public void test_empty() throws IOException { HashMap<String, Object> map = new HashMap<String, Object>(); stream.writeVal(map); stream.close(); assertEquals("{}".replace('\'', '"'), baos.toString()); } public void test_null() throws IOException { stream.writeVal(new TypeLiteral<HashMap>(){}, null); stream.close(); assertEquals("null".replace('\'', '"'), baos.toString()); } public void test_value_is_null() throws IOException { HashMap<String, int[]> obj = new HashMap<String, int[]>(); obj.put("hello", null); stream.writeVal(new TypeLiteral<Map<String, int[]>>(){}, obj); stream.close(); assertEquals("{\"hello\":null}", baos.toString()); } }