package com.alibaba.json.bvt.date; import java.util.Calendar; import junit.framework.TestCase; import org.junit.Assert; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; public class CalendarTest extends TestCase { public void test_null() throws Exception { String text = "{\"calendar\":null}"; VO vo = JSON.parseObject(text, VO.class); Assert.assertNull(vo.getCalendar()); } public void test_codec() throws Exception { Calendar calendar = Calendar.getInstance(JSON.defaultTimeZone, JSON.defaultLocale); VO vo = new VO(); vo.setCalendar(calendar); String text = JSON.toJSONString(vo); VO vo2 = JSON.parseObject(text, VO.class); Assert.assertEquals(vo.getCalendar().getTimeInMillis(), vo2.getCalendar().getTimeInMillis()); } public void test_codec_iso88591() throws Exception { Calendar calendar = Calendar.getInstance(JSON.defaultTimeZone, JSON.defaultLocale); VO vo = new VO(); vo.setCalendar(calendar); String text = JSON.toJSONString(vo, SerializerFeature.UseISO8601DateFormat); VO vo2 = JSON.parseObject(text, VO.class); Assert.assertEquals(vo.getCalendar().getTimeInMillis(), vo2.getCalendar().getTimeInMillis()); } public void test_codec_iso88591_2() throws Exception { Calendar calendar = Calendar.getInstance(JSON.defaultTimeZone, JSON.defaultLocale); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); VO vo = new VO(); vo.setCalendar(calendar); String text = JSON.toJSONString(vo, SerializerFeature.UseISO8601DateFormat); VO vo2 = JSON.parseObject(text, VO.class); Assert.assertEquals(vo.getCalendar().getTimeInMillis(), vo2.getCalendar().getTimeInMillis()); } public static class VO { private Calendar calendar; public Calendar getCalendar() { return calendar; } public void setCalendar(Calendar calendar) { this.calendar = calendar; } } }