@Test
public void iso8601withTimeZone() throws Exception {

    Calendar fromJson = calendarAdapter().fromJson("\"2000-02-27T23:00:23+0200\"");
    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(2000);
    assertThat(fromJson.get(Calendar.MONTH)).isEqualTo(Calendar.FEBRUARY);
    assertThat(fromJson.get(Calendar.DAY_OF_MONTH)).isEqualTo(27);
    assertThat(fromJson.get(Calendar.HOUR_OF_DAY)).isEqualTo(22);
    assertThat(fromJson.get(Calendar.MINUTE)).isEqualTo(0);
    assertThat(fromJson.get(Calendar.SECOND)).isEqualTo(23);
    assertThat(fromJson.getTimeZone()).isEqualTo(TimeZone.getTimeZone("CET"));
}