package com.alibaba.json.bvt.serializer.exception;
import org.junit.Assert;
import junit.framework.TestCase;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class RuntimeExceptionTest extends TestCase {
public void test_0() throws Exception {
RuntimeException ex = new RuntimeException();
JSONObject json = JSON.parseObject(JSON.toJSONString(ex));
// Assert.assertEquals(RuntimeException.class.getName(), json.get("@type"));
String jsonString = JSON.toJSONString(ex);
Exception ex1 = JSON.parseObject(jsonString, Exception.class);
Assert.assertEquals(ex.getMessage(), ex1.getMessage());
Assert.assertEquals(ex.getStackTrace().length, ex1.getStackTrace().length);
for (int i = 0; i < ex.getStackTrace().length; ++i) {
Assert.assertEquals(ex.getStackTrace()[i].getClassName(), ex1.getStackTrace()[i].getClassName());
Assert.assertEquals(ex.getStackTrace()[i].getFileName(), ex1.getStackTrace()[i].getFileName());
Assert.assertEquals(ex.getStackTrace()[i].getLineNumber(), ex1.getStackTrace()[i].getLineNumber());
Assert.assertEquals(ex.getStackTrace()[i].getMethodName(), ex1.getStackTrace()[i].getMethodName());
}
Assert.assertEquals(ex1.getClass(), ex.getClass());
//System.out.println(JSON.toJSONString(ex));
// Assert.assertEquals("\"java.lang.Boolean\"", JSON.toJSONString(ex));
}
}