/src/test/java/com/alibaba/json/bvt/bug/Bug_for_cnhans.java
https://github.com/alibaba/fastjson · Java · 99 lines · 78 code · 21 blank · 0 comment · 0 complexity · 318b207084802bb1f8ee71b65f45a540 MD5 · raw file
- package com.alibaba.json.bvt.bug;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.GregorianCalendar;
- import java.util.Locale;
- import java.util.TimeZone;
- import org.junit.Assert;
- import junit.framework.TestCase;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.alibaba.fastjson.serializer.SerializerFeature;
- public class Bug_for_cnhans extends TestCase {
- protected void setUp() throws Exception {
- JSON.defaultTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
- JSON.defaultLocale = Locale.CHINA;
- }
-
- public void test_0() throws Exception {
- VO vo = new VO();
- vo.setCalendar(Calendar.getInstance());
- String text = JSON.toJSONString(vo);
- VO vo1 = JSON.parseObject(text, VO.class);
- Assert.assertEquals(vo.getCalendar().getTime(), vo1.getCalendar().getTime());
- }
-
- public void test_format() throws Exception {
- VO vo = new VO();
- vo.setCalendar(Calendar.getInstance(JSON.defaultTimeZone, JSON.defaultLocale));
-
- String text = JSON.toJSONString(vo, SerializerFeature.WriteDateUseDateFormat);
-
- VO vo1 = JSON.parseObject(text, VO.class);
- Assert.assertEquals(vo.getCalendar().get(Calendar.YEAR), vo1.getCalendar().get(Calendar.YEAR));
- Assert.assertEquals(vo.getCalendar().get(Calendar.MONTH), vo1.getCalendar().get(Calendar.MONTH));
- Assert.assertEquals(vo.getCalendar().get(Calendar.DAY_OF_MONTH), vo1.getCalendar().get(Calendar.DAY_OF_MONTH));
- Assert.assertEquals(vo.getCalendar().get(Calendar.HOUR_OF_DAY), vo1.getCalendar().get(Calendar.HOUR_OF_DAY));
- Assert.assertEquals(vo.getCalendar().get(Calendar.MINUTE), vo1.getCalendar().get(Calendar.MINUTE));
- Assert.assertEquals(vo.getCalendar().get(Calendar.SECOND), vo1.getCalendar().get(Calendar.SECOND));
- }
-
- public void test_iso_format() throws Exception {
- VO vo = new VO();
- vo.setCalendar(Calendar.getInstance());
-
- String text = JSON.toJSONString(vo, SerializerFeature.UseISO8601DateFormat);
-
- VO vo1 = JSON.parseObject(text, VO.class);
- Assert.assertEquals(vo.getCalendar().get(Calendar.YEAR), vo1.getCalendar().get(Calendar.YEAR));
- Assert.assertEquals(vo.getCalendar().get(Calendar.MONTH), vo1.getCalendar().get(Calendar.MONTH));
- Assert.assertEquals(vo.getCalendar().get(Calendar.DAY_OF_MONTH), vo1.getCalendar().get(Calendar.DAY_OF_MONTH));
- Assert.assertEquals(vo.getCalendar().get(Calendar.HOUR_OF_DAY), vo1.getCalendar().get(Calendar.HOUR_OF_DAY));
- Assert.assertEquals(vo.getCalendar().get(Calendar.MINUTE), vo1.getCalendar().get(Calendar.MINUTE));
- Assert.assertEquals(vo.getCalendar().get(Calendar.SECOND), vo1.getCalendar().get(Calendar.SECOND));
- }
-
- public void test_toJavaObject() throws Exception {
- JSONObject obj = new JSONObject();
- obj.put("d1", new Date());
- obj.put("d2", System.currentTimeMillis());
- obj.put("d3", GregorianCalendar.getInstance());
- obj.put("d4", "2012-12-22");
- obj.put("d5", "2012-12-22 12:11:11");
- obj.put("d6", "2012-12-22 12:11:11.234");
-
- obj.getObject("d1", Calendar.class);
- obj.getObject("d2", Calendar.class);
- obj.getObject("d3", Calendar.class);
- obj.getObject("d4", Calendar.class);
- obj.getObject("d5", Calendar.class);
- obj.getObject("d6", Calendar.class);
- obj.getObject("d1", GregorianCalendar.class);
- obj.getObject("d2", GregorianCalendar.class);
- obj.getObject("d3", GregorianCalendar.class);
- obj.getObject("d4", GregorianCalendar.class);
- obj.getObject("d5", GregorianCalendar.class);
- obj.getObject("d6", GregorianCalendar.class);
- }
- public static class VO {
- private Calendar calendar;
- public Calendar getCalendar() {
- return calendar;
- }
- public void setCalendar(Calendar calendar) {
- this.calendar = calendar;
- }
- }
- }