package com.alibaba.json.bvt.parser.error;
import java.io.StringReader;
import java.util.Map;
import org.junit.Assert;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONReader;
import com.alibaba.fastjson.TypeReference;
import junit.framework.TestCase;
public class JSONReaderError extends TestCase {
public void test_reader_error() throws Exception {
Exception error = null;
try {
JSONReader reader = new JSONReader(new StringReader("{\"id\":"));
reader.readObject(Model.class);
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_reader_error_1() throws Exception {
Exception error = null;
try {
JSONReader reader = new JSONReader(new StringReader("{\"id\":\"aa"));
reader.readObject(Model.class);
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public void test_reader_no_error() throws Exception {
JSONReader reader = new JSONReader(new StringReader("{\"id\":\"aa\",\"name\":\"wenshao\"}"));
Model model = reader.readObject(Model.class);
Assert.assertEquals("aa", model.id);
Assert.assertEquals("wenshao", model.name);
reader.close();
}
public void test_reader_no_error_1() throws Exception {
JSONReader reader = new JSONReader(new StringReader("{\"model\":{\"id\":\"aa\",\"name\":\"wenshao\"}}"));
Map<String, Model> map = reader.readObject(new TypeReference<Map<String, Model>>() {});
Model model = map.get("model");
Assert.assertEquals("aa", model.id);
Assert.assertEquals("wenshao", model.name);
reader.close();
}
public void test_reader_no_error_2() throws Exception {
JSONReader reader = new JSONReader(new StringReader("{\"model\":{\"id\":\"aa\",\"name\":\"wenshao\"},\"model2\":{\"id\":\"bb\",\"name\":\"ljw\"}}"));
Map<String, Model> map = reader.readObject(new TypeReference<Map<String, Model>>() {});
{
Model model = map.get("model");
Assert.assertEquals("aa", model.id);
Assert.assertEquals("wenshao", model.name);
}
{
Model model = map.get("model2");
Assert.assertEquals("bb", model.id);
Assert.assertEquals("ljw", model.name);
}
reader.close();
}
public void test_reader_error_3() throws Exception {
Exception error = null;
try {
JSONReader reader = new JSONReader(new StringReader("{\"model\":{\"id\":\"aa\",\"name\":\"wenshao\"}["));
Map<String, Model> map = reader.readObject(new TypeReference<Map<String, Model>>() {});
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
public static class Model {
public String id;
public String name;
}
}