@Test
public void iso8601withMilliseconds() throws Exception {

    Calendar fromJson = calendarAdapter().fromJson("\"2016-01-15T07:42:01.000Z\"");
    assertThat(fromJson).isNotNull();
    assertThat(fromJson.isSet(Calendar.SECOND)).isTrue();
    assertThat(fromJson.isSet(Calendar.MINUTE)).isTrue();
    assertThat(fromJson.isSet(Calendar.HOUR)).isTrue();
    assertThat(fromJson.isSet(Calendar.DAY_OF_MONTH)).isTrue();
    assertThat(fromJson.isSet(Calendar.MONTH)).isTrue();
    assertThat(fromJson.isSet(Calendar.YEAR)).isTrue();
    assertThat(fromJson.get(Calendar.YEAR)).isEqualTo(2016);
    assertThat(fromJson.get(Calendar.MONTH)).isEqualTo(Calendar.JANUARY);
    assertThat(fromJson.get(Calendar.DAY_OF_MONTH)).isEqualTo(15);
    assertThat(fromJson.get(Calendar.HOUR_OF_DAY)).isEqualTo(7);
    assertThat(fromJson.get(Calendar.MINUTE)).isEqualTo(42);
    assertThat(fromJson.get(Calendar.SECOND)).isEqualTo(1);
}