@Test
  public void testSerializeCalendar() throws Exception {

    int year = 1990;
    int month = 11;
    int day = 15;
    int hour = 10;
    int minute = 50;
    int seconds = 30;
    int milliseconds = 123;

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
    calendar.set(year, month - 1, day, hour, minute, seconds);
    calendar.set(Calendar.MILLISECOND, milliseconds);

    CalendarSerializer calendarSerializer = new CalendarSerializer();

    String strDate = calendarSerializer.serialize(calendar, Calendar.class, null).toString();

    // yyyy-MM-dd'T'HH:mm:ss'.'SSS'Z
    String expectedDate =
        String.format(
            "\"%s-%d-%sT%s:%s:%s.%sZ\"", year, month, day, hour, minute, seconds, milliseconds);

    assertEquals(expectedDate, strDate);
  }