Skip to content

Commit

Permalink
add testcase for Calendar
Browse files Browse the repository at this point in the history
  • Loading branch information
wenshao committed May 1, 2016
1 parent d6a83ec commit ed786c3
Showing 1 changed file with 34 additions and 1 deletion.
35 changes: 34 additions & 1 deletion src/test/java/com/alibaba/json/bvt/date/CalendarTest.java
Expand Up @@ -7,15 +7,48 @@
import org.junit.Assert;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

public class CalendarTest extends TestCase {

public void test_0() throws Exception {
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 {

Expand Down

0 comments on commit ed786c3

Please sign in to comment.