test/java/time/tck/java/time/TCKOffsetTime.java

Print this page




 526             {11, 0, 0, 0, OFFSET_PONE},
 527             {23, 59, 59, 999999999, OFFSET_PONE},
 528         };
 529     }
 530 
 531     @Test(dataProvider="sampleTimes")
 532     public void test_get(int h, int m, int s, int n, ZoneOffset offset) {
 533         LocalTime localTime = LocalTime.of(h, m, s, n);
 534         OffsetTime a = OffsetTime.of(localTime, offset);
 535 
 536         assertEquals(a.toLocalTime(), localTime);
 537         assertEquals(a.getOffset(), offset);
 538         assertEquals(a.toString(), localTime.toString() + offset.toString());
 539         assertEquals(a.getHour(), localTime.getHour());
 540         assertEquals(a.getMinute(), localTime.getMinute());
 541         assertEquals(a.getSecond(), localTime.getSecond());
 542         assertEquals(a.getNano(), localTime.getNano());
 543     }
 544 
 545     //-----------------------------------------------------------------------






























































 546     // get(TemporalField)
 547     //-----------------------------------------------------------------------
 548     @Test
 549     public void test_get_TemporalField() {
 550         OffsetTime test = OffsetTime.of(12, 30, 40, 987654321, OFFSET_PONE);
 551         assertEquals(test.get(ChronoField.HOUR_OF_DAY), 12);
 552         assertEquals(test.get(ChronoField.MINUTE_OF_HOUR), 30);
 553         assertEquals(test.get(ChronoField.SECOND_OF_MINUTE), 40);
 554         assertEquals(test.get(ChronoField.NANO_OF_SECOND), 987654321);
 555         assertEquals(test.get(ChronoField.HOUR_OF_AMPM), 0);
 556         assertEquals(test.get(ChronoField.AMPM_OF_DAY), 1);
 557 
 558         assertEquals(test.get(ChronoField.OFFSET_SECONDS), 3600);
 559     }
 560 
 561     @Test
 562     public void test_getLong_TemporalField() {
 563         OffsetTime test = OffsetTime.of(12, 30, 40, 987654321, OFFSET_PONE);
 564         assertEquals(test.getLong(ChronoField.HOUR_OF_DAY), 12);
 565         assertEquals(test.getLong(ChronoField.MINUTE_OF_HOUR), 30);


1021     }
1022 
1023     //-----------------------------------------------------------------------
1024     // minusNanos()
1025     //-----------------------------------------------------------------------
1026     @Test
1027     public void test_minusNanos() {
1028         OffsetTime base = OffsetTime.of(11, 30, 59, 0, OFFSET_PONE);
1029         OffsetTime test = base.minusNanos(1);
1030         assertEquals(test, OffsetTime.of(11, 30, 58, 999999999, OFFSET_PONE));
1031     }
1032 
1033     @Test
1034     public void test_minusNanos_zero() {
1035         OffsetTime base = OffsetTime.of(11, 30, 59, 0, OFFSET_PONE);
1036         OffsetTime test = base.minusNanos(0);
1037         assertEquals(test, base);
1038     }
1039 
1040     //-----------------------------------------------------------------------
1041     // periodUntil(Temporal, TemporalUnit)
1042     //-----------------------------------------------------------------------
1043     @DataProvider(name="periodUntilUnit")
1044     Object[][] data_periodUntilUnit() {
1045         return new Object[][] {
1046             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(13, 1, 1), ZoneOffset.ofHours(1)), HALF_DAYS, 1},
1047             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), HOURS, 1},
1048             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), MINUTES, 60},
1049             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), SECONDS, 3600},
1050             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), MILLIS, 3600*1000},
1051             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), MICROS, 3600*1000*1000L},
1052             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), NANOS, 3600*1000*1000L*1000},
1053 
1054             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(14, 1, 1), ZoneOffset.ofHours(2)), HALF_DAYS, 1},
1055             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), HOURS, 1},
1056             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), MINUTES, 60},
1057             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), SECONDS, 3600},
1058             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), MILLIS, 3600*1000},
1059             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), MICROS, 3600*1000*1000L},
1060             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), NANOS, 3600*1000*1000L*1000},
1061         };
1062     }
1063 
1064     @Test(dataProvider="periodUntilUnit")
1065     public void test_periodUntil_TemporalUnit(OffsetTime offsetTime1, OffsetTime offsetTime2, TemporalUnit unit, long expected) {
1066         long amount = offsetTime1.periodUntil(offsetTime2, unit);
1067         assertEquals(amount, expected);
1068     }
1069 
1070     @Test(dataProvider="periodUntilUnit")
1071     public void test_periodUntil_TemporalUnit_negated(OffsetTime offsetTime1, OffsetTime offsetTime2, TemporalUnit unit, long expected) {
1072         long amount = offsetTime2.periodUntil(offsetTime1, unit);
1073         assertEquals(amount, -expected);
1074     }
1075 
1076     @Test(expectedExceptions=DateTimeException.class)
1077     public void test_periodUntil_InvalidType() {
1078         OffsetTime offsetTime = OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1));
1079         OffsetDateTime offsetDateTime = offsetTime.atDate(LocalDate.of(1980, 2, 10));
1080         offsetTime.periodUntil(offsetDateTime, SECONDS);
1081     }
1082 
1083     @Test(expectedExceptions=DateTimeException.class)
1084     public void test_periodUntil_InvalidTemporalUnit() {
1085         OffsetTime offsetTime1 = OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1));
1086         OffsetTime offsetTime2 = OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1));
1087         offsetTime1.periodUntil(offsetTime2, MONTHS);
1088     }
1089 
1090     //-----------------------------------------------------------------------
1091     // format(DateTimeFormatter)
1092     //-----------------------------------------------------------------------
1093     @Test
1094     public void test_format_formatter() {
1095         DateTimeFormatter f = DateTimeFormatter.ofPattern("H m s");
1096         String t = OffsetTime.of(11, 30, 0, 0, OFFSET_PONE).format(f);
1097         assertEquals(t, "11 30 0");
1098     }
1099 
1100     @Test(expectedExceptions=NullPointerException.class)
1101     public void test_format_formatter_null() {
1102         OffsetTime.of(11, 30, 0, 0, OFFSET_PONE).format(null);
1103     }
1104 
1105     //-----------------------------------------------------------------------
1106     // compareTo()
1107     //-----------------------------------------------------------------------




 526             {11, 0, 0, 0, OFFSET_PONE},
 527             {23, 59, 59, 999999999, OFFSET_PONE},
 528         };
 529     }
 530 
 531     @Test(dataProvider="sampleTimes")
 532     public void test_get(int h, int m, int s, int n, ZoneOffset offset) {
 533         LocalTime localTime = LocalTime.of(h, m, s, n);
 534         OffsetTime a = OffsetTime.of(localTime, offset);
 535 
 536         assertEquals(a.toLocalTime(), localTime);
 537         assertEquals(a.getOffset(), offset);
 538         assertEquals(a.toString(), localTime.toString() + offset.toString());
 539         assertEquals(a.getHour(), localTime.getHour());
 540         assertEquals(a.getMinute(), localTime.getMinute());
 541         assertEquals(a.getSecond(), localTime.getSecond());
 542         assertEquals(a.getNano(), localTime.getNano());
 543     }
 544 
 545     //-----------------------------------------------------------------------
 546     // isSupported(TemporalField)
 547     //-----------------------------------------------------------------------
 548     @Test
 549     public void test_isSupported_TemporalField() {
 550         assertEquals(TEST_11_30_59_500_PONE.isSupported((TemporalField) null), false);
 551         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.NANO_OF_SECOND), true);
 552         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.NANO_OF_DAY), true);
 553         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.MICRO_OF_SECOND), true);
 554         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.MICRO_OF_DAY), true);
 555         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.MILLI_OF_SECOND), true);
 556         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.MILLI_OF_DAY), true);
 557         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.SECOND_OF_MINUTE), true);
 558         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.SECOND_OF_DAY), true);
 559         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.MINUTE_OF_HOUR), true);
 560         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.MINUTE_OF_DAY), true);
 561         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.HOUR_OF_AMPM), true);
 562         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.CLOCK_HOUR_OF_AMPM), true);
 563         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.HOUR_OF_DAY), true);
 564         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.CLOCK_HOUR_OF_DAY), true);
 565         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.AMPM_OF_DAY), true);
 566         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.DAY_OF_WEEK), false);
 567         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH), false);
 568         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.ALIGNED_DAY_OF_WEEK_IN_YEAR), false);
 569         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.DAY_OF_MONTH), false);
 570         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.DAY_OF_YEAR), false);
 571         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.EPOCH_DAY), false);
 572         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.ALIGNED_WEEK_OF_MONTH), false);
 573         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.ALIGNED_WEEK_OF_YEAR), false);
 574         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.MONTH_OF_YEAR), false);
 575         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.PROLEPTIC_MONTH), false);
 576         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.YEAR), false);
 577         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.YEAR_OF_ERA), false);
 578         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.ERA), false);
 579         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.INSTANT_SECONDS), false);
 580         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoField.OFFSET_SECONDS), true);
 581     }
 582 
 583     //-----------------------------------------------------------------------
 584     // isSupported(TemporalUnit)
 585     //-----------------------------------------------------------------------
 586     @Test
 587     public void test_isSupported_TemporalUnit() {
 588         assertEquals(TEST_11_30_59_500_PONE.isSupported((TemporalUnit) null), false);
 589         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.NANOS), true);
 590         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.MICROS), true);
 591         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.MILLIS), true);
 592         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.SECONDS), true);
 593         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.MINUTES), true);
 594         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.HOURS), true);
 595         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.HALF_DAYS), true);
 596         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.DAYS), false);
 597         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.WEEKS), false);
 598         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.MONTHS), false);
 599         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.YEARS), false);
 600         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.DECADES), false);
 601         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.CENTURIES), false);
 602         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.MILLENNIA), false);
 603         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.ERAS), false);
 604         assertEquals(TEST_11_30_59_500_PONE.isSupported(ChronoUnit.FOREVER), false);
 605     }
 606 
 607     //-----------------------------------------------------------------------
 608     // get(TemporalField)
 609     //-----------------------------------------------------------------------
 610     @Test
 611     public void test_get_TemporalField() {
 612         OffsetTime test = OffsetTime.of(12, 30, 40, 987654321, OFFSET_PONE);
 613         assertEquals(test.get(ChronoField.HOUR_OF_DAY), 12);
 614         assertEquals(test.get(ChronoField.MINUTE_OF_HOUR), 30);
 615         assertEquals(test.get(ChronoField.SECOND_OF_MINUTE), 40);
 616         assertEquals(test.get(ChronoField.NANO_OF_SECOND), 987654321);
 617         assertEquals(test.get(ChronoField.HOUR_OF_AMPM), 0);
 618         assertEquals(test.get(ChronoField.AMPM_OF_DAY), 1);
 619 
 620         assertEquals(test.get(ChronoField.OFFSET_SECONDS), 3600);
 621     }
 622 
 623     @Test
 624     public void test_getLong_TemporalField() {
 625         OffsetTime test = OffsetTime.of(12, 30, 40, 987654321, OFFSET_PONE);
 626         assertEquals(test.getLong(ChronoField.HOUR_OF_DAY), 12);
 627         assertEquals(test.getLong(ChronoField.MINUTE_OF_HOUR), 30);


1083     }
1084 
1085     //-----------------------------------------------------------------------
1086     // minusNanos()
1087     //-----------------------------------------------------------------------
1088     @Test
1089     public void test_minusNanos() {
1090         OffsetTime base = OffsetTime.of(11, 30, 59, 0, OFFSET_PONE);
1091         OffsetTime test = base.minusNanos(1);
1092         assertEquals(test, OffsetTime.of(11, 30, 58, 999999999, OFFSET_PONE));
1093     }
1094 
1095     @Test
1096     public void test_minusNanos_zero() {
1097         OffsetTime base = OffsetTime.of(11, 30, 59, 0, OFFSET_PONE);
1098         OffsetTime test = base.minusNanos(0);
1099         assertEquals(test, base);
1100     }
1101 
1102     //-----------------------------------------------------------------------
1103     // until(Temporal, TemporalUnit)
1104     //-----------------------------------------------------------------------
1105     @DataProvider(name="periodUntilUnit")
1106     Object[][] data_periodUntilUnit() {
1107         return new Object[][] {
1108             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(13, 1, 1), ZoneOffset.ofHours(1)), HALF_DAYS, 1},
1109             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), HOURS, 1},
1110             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), MINUTES, 60},
1111             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), SECONDS, 3600},
1112             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), MILLIS, 3600*1000},
1113             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), MICROS, 3600*1000*1000L},
1114             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1)), NANOS, 3600*1000*1000L*1000},
1115 
1116             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(14, 1, 1), ZoneOffset.ofHours(2)), HALF_DAYS, 1},
1117             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), HOURS, 1},
1118             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), MINUTES, 60},
1119             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), SECONDS, 3600},
1120             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), MILLIS, 3600*1000},
1121             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), MICROS, 3600*1000*1000L},
1122             {OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1)), OffsetTime.of(LocalTime.of(3, 1, 1), ZoneOffset.ofHours(2)), NANOS, 3600*1000*1000L*1000},
1123         };
1124     }
1125 
1126     @Test(dataProvider="periodUntilUnit")
1127     public void test_periodUntil_TemporalUnit(OffsetTime offsetTime1, OffsetTime offsetTime2, TemporalUnit unit, long expected) {
1128         long amount = offsetTime1.until(offsetTime2, unit);
1129         assertEquals(amount, expected);
1130     }
1131 
1132     @Test(dataProvider="periodUntilUnit")
1133     public void test_periodUntil_TemporalUnit_negated(OffsetTime offsetTime1, OffsetTime offsetTime2, TemporalUnit unit, long expected) {
1134         long amount = offsetTime2.until(offsetTime1, unit);
1135         assertEquals(amount, -expected);
1136     }
1137 
1138     @Test(expectedExceptions=DateTimeException.class)
1139     public void test_periodUntil_InvalidType() {
1140         OffsetTime offsetTime = OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1));
1141         OffsetDateTime offsetDateTime = offsetTime.atDate(LocalDate.of(1980, 2, 10));
1142         offsetTime.until(offsetDateTime, SECONDS);
1143     }
1144 
1145     @Test(expectedExceptions=DateTimeException.class)
1146     public void test_periodUntil_InvalidTemporalUnit() {
1147         OffsetTime offsetTime1 = OffsetTime.of(LocalTime.of(1, 1, 1), ZoneOffset.ofHours(1));
1148         OffsetTime offsetTime2 = OffsetTime.of(LocalTime.of(2, 1, 1), ZoneOffset.ofHours(1));
1149         offsetTime1.until(offsetTime2, MONTHS);
1150     }
1151 
1152     //-----------------------------------------------------------------------
1153     // format(DateTimeFormatter)
1154     //-----------------------------------------------------------------------
1155     @Test
1156     public void test_format_formatter() {
1157         DateTimeFormatter f = DateTimeFormatter.ofPattern("H m s");
1158         String t = OffsetTime.of(11, 30, 0, 0, OFFSET_PONE).format(f);
1159         assertEquals(t, "11 30 0");
1160     }
1161 
1162     @Test(expectedExceptions=NullPointerException.class)
1163     public void test_format_formatter_null() {
1164         OffsetTime.of(11, 30, 0, 0, OFFSET_PONE).format(null);
1165     }
1166 
1167     //-----------------------------------------------------------------------
1168     // compareTo()
1169     //-----------------------------------------------------------------------