939 ZonedDateTime zdt = ZonedDateTime.of(2011, 12, 29, 23, 0, 0, 0, ZoneId.of("Pacific/Apia")); |
939 ZonedDateTime zdt = ZonedDateTime.of(2011, 12, 29, 23, 0, 0, 0, ZoneId.of("Pacific/Apia")); |
940 assertEquals(zdt.plusHours(2).toLocalDateTime(), LocalDateTime.of(2011, 12, 31, 1, 0)); |
940 assertEquals(zdt.plusHours(2).toLocalDateTime(), LocalDateTime.of(2011, 12, 31, 1, 0)); |
941 } |
941 } |
942 |
942 |
943 public void test_Apia_jumpForwardOverInternationalDateLine_P12_to_M12() { |
943 public void test_Apia_jumpForwardOverInternationalDateLine_P12_to_M12() { |
944 // transition occurred at 1879-07-04T00:00+12:33:04 |
944 // transition occurred at 1892-07-04T00:00+12:33:04 |
945 ZoneRules test = pacificApia(); |
945 ZoneRules test = pacificApia(); |
946 Instant instantBefore = LocalDate.of(1879, 7, 2).atStartOfDay(ZoneOffset.UTC).toInstant(); |
946 Instant instantBefore = LocalDate.of(1892, 7, 2).atStartOfDay(ZoneOffset.UTC).toInstant(); |
947 ZoneOffsetTransition trans = test.nextTransition(instantBefore); |
947 ZoneOffsetTransition trans = test.nextTransition(instantBefore); |
948 assertEquals(trans.getDateTimeBefore(), LocalDateTime.of(1879, 7, 5, 0, 0)); |
948 assertEquals(trans.getDateTimeBefore(), LocalDateTime.of(1892, 7, 5, 0, 0)); |
949 assertEquals(trans.getDateTimeAfter(), LocalDateTime.of(1879, 7, 4, 0, 0)); |
949 assertEquals(trans.getDateTimeAfter(), LocalDateTime.of(1892, 7, 4, 0, 0)); |
950 assertEquals(trans.isGap(), false); |
950 assertEquals(trans.isGap(), false); |
951 assertEquals(trans.isOverlap(), true); |
951 assertEquals(trans.isOverlap(), true); |
952 assertEquals(trans.isValidOffset(ZoneOffset.ofHoursMinutesSeconds(+12, 33, 4)), true); |
952 assertEquals(trans.isValidOffset(ZoneOffset.ofHoursMinutesSeconds(+12, 33, 4)), true); |
953 assertEquals(trans.isValidOffset(ZoneOffset.ofHoursMinutesSeconds(-11, -26, -56)), true); |
953 assertEquals(trans.isValidOffset(ZoneOffset.ofHoursMinutesSeconds(-11, -26, -56)), true); |
954 assertEquals(trans.getDuration(), Duration.ofHours(-24)); |
954 assertEquals(trans.getDuration(), Duration.ofHours(-24)); |
955 assertEquals(trans.getInstant(), LocalDateTime.of(1879, 7, 4, 0, 0).toInstant(ZoneOffset.ofHoursMinutesSeconds(-11, -26, -56))); |
955 assertEquals(trans.getInstant(), LocalDateTime.of(1892, 7, 4, 0, 0).toInstant(ZoneOffset.ofHoursMinutesSeconds(-11, -26, -56))); |
956 |
956 |
957 ZonedDateTime zdt = ZonedDateTime.of(1879, 7, 4, 23, 0, 0, 0, ZoneId.of("Pacific/Apia")); |
957 ZonedDateTime zdt = ZonedDateTime.of(1892, 7, 4, 23, 0, 0, 0, ZoneId.of("Pacific/Apia")); |
958 assertEquals(zdt.plusHours(2).toLocalDateTime(), LocalDateTime.of(1879, 7, 4, 1, 0, 0)); |
958 assertEquals(zdt.plusHours(2).toLocalDateTime(), LocalDateTime.of(1892, 7, 4, 1, 0, 0)); |
959 } |
959 } |
960 |
960 |
961 //------------------------------------------------------------------------- |
961 //------------------------------------------------------------------------- |
962 @Test(expectedExceptions=UnsupportedOperationException.class) |
962 @Test(expectedExceptions=UnsupportedOperationException.class) |
963 public void test_getTransitions_immutable() { |
963 public void test_getTransitions_immutable() { |