下面列出了java.time.zone.ZoneOffsetTransitionRule#of ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Test
public void test_toString_fixedDate() {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, null, TIME_0100, false, TimeDefinition.STANDARD,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertEquals(test.toString(), "TransitionRule[Gap +02:00 to +03:00, MARCH 20 at 01:00 STANDARD, standard offset +02:00]");
}
@Test
public void test_createTransition_floatingWeek_overlap_endOfDay() {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, LocalTime.MIDNIGHT, true, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0300, OFFSET_0200);
ZoneOffsetTransition trans = ZoneOffsetTransition.of(
LocalDateTime.of(2000, Month.MARCH, 27, 0, 0), OFFSET_0300, OFFSET_0200);
assertEquals(test.createTransition(2000), trans);
}
@Test
public void test_equals_dayOfWeekDifferent() {
ZoneOffsetTransitionRule a = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
ZoneOffsetTransitionRule b = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SATURDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertEquals(a.equals(a), true);
assertEquals(a.equals(b), false);
assertEquals(b.equals(a), false);
assertEquals(b.equals(b), true);
}
@Test
public void test_equals_string_false() {
ZoneOffsetTransitionRule a = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertEquals(a.equals("TZDB"), false);
}
@Test
public void test_createTransition_floatingWeek_overlap_endOfDay() {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, LocalTime.MIDNIGHT, true, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0300, OFFSET_0200);
ZoneOffsetTransition trans = ZoneOffsetTransition.of(
LocalDateTime.of(2000, Month.MARCH, 27, 0, 0), OFFSET_0300, OFFSET_0200);
assertEquals(test.createTransition(2000), trans);
}
@Test
public void test_serialization_floatingWeekBackwards() throws Exception {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, -1, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertSerializable(test);
}
@Test
public void test_serialization_unusualTime() throws Exception {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.WEDNESDAY, LocalTime.of(13, 34, 56), false, TimeDefinition.STANDARD,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertSerializable(test);
}
@Test
public void test_serialization_unusualOffsets() throws Exception {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, null, TIME_0100, false, TimeDefinition.STANDARD,
ZoneOffset.ofHoursMinutesSeconds(-12, -20, -50),
ZoneOffset.ofHoursMinutesSeconds(-4, -10, -34),
ZoneOffset.ofHours(-18));
assertSerializable(test);
}
@Test
public void test_getters_fixedDate() throws Exception {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, null, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertEquals(test.getMonth(), Month.MARCH);
assertEquals(test.getDayOfMonthIndicator(), 20);
assertEquals(test.getDayOfWeek(), null);
assertEquals(test.getLocalTime(), TIME_0100);
assertEquals(test.isMidnightEndOfDay(), false);
assertEquals(test.getTimeDefinition(), TimeDefinition.WALL);
assertEquals(test.getStandardOffset(), OFFSET_0200);
assertEquals(test.getOffsetBefore(), OFFSET_0200);
assertEquals(test.getOffsetAfter(), OFFSET_0300);
}
@Test
public void test_toString_floatingWeekBackwards_last() {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, -1, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertEquals(test.toString(), "TransitionRule[Gap +02:00 to +03:00, SUNDAY on or before last day of MARCH at 01:00 WALL, standard offset +02:00]");
}
@Test
public void test_serialization_unusualOffsets() throws Exception {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, null, TIME_0100, false, TimeDefinition.STANDARD,
ZoneOffset.ofHoursMinutesSeconds(-12, -20, -50),
ZoneOffset.ofHoursMinutesSeconds(-4, -10, -34),
ZoneOffset.ofHours(-18));
assertSerializable(test);
}
@Test
public void test_getters_floatingWeekBackwards() throws Exception {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, -1, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertEquals(test.getMonth(), Month.MARCH);
assertEquals(test.getDayOfMonthIndicator(), -1);
assertEquals(test.getDayOfWeek(), DayOfWeek.SUNDAY);
assertEquals(test.getLocalTime(), TIME_0100);
assertEquals(test.isMidnightEndOfDay(), false);
assertEquals(test.getTimeDefinition(), TimeDefinition.WALL);
assertEquals(test.getStandardOffset(), OFFSET_0200);
assertEquals(test.getOffsetBefore(), OFFSET_0200);
assertEquals(test.getOffsetAfter(), OFFSET_0300);
}
@Test
public void test_equals_standardOffsetDifferent() {
ZoneOffsetTransitionRule a = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
ZoneOffsetTransitionRule b = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0300, OFFSET_0200, OFFSET_0300);
assertEquals(a.equals(a), true);
assertEquals(a.equals(b), false);
assertEquals(b.equals(a), false);
assertEquals(b.equals(b), true);
}
@Test
public void test_serialization_floatingWeek() throws Exception {
ZoneOffsetTransitionRule test = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertSerializable(test);
}
@Test
public void test_equals_dayOfWeekDifferentNull() {
ZoneOffsetTransitionRule a = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
ZoneOffsetTransitionRule b = ZoneOffsetTransitionRule.of(
Month.MARCH, 20, null, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
assertEquals(a.equals(a), true);
assertEquals(a.equals(b), false);
assertEquals(b.equals(a), false);
assertEquals(b.equals(b), true);
}
@Test(expectedExceptions=NullPointerException.class)
public void test_factory_nullTime() {
ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, null, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
}
@Test(expectedExceptions=IllegalArgumentException.class)
public void test_factory_invalidMidnightFlag() {
ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, true, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
}
@Test(expectedExceptions=NullPointerException.class)
public void test_factory_nullOffsetBefore() {
ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, null, OFFSET_0300);
}
@Test(expectedExceptions=NullPointerException.class)
public void test_factory_nullTimeDefinition() {
ZoneOffsetTransitionRule.of(
Month.MARCH, 20, DayOfWeek.SUNDAY, TIME_0100, false, null,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
}
@Test(expectedExceptions=NullPointerException.class)
public void test_factory_nullMonth() {
ZoneOffsetTransitionRule.of(
null, 20, DayOfWeek.SUNDAY, TIME_0100, false, TimeDefinition.WALL,
OFFSET_0200, OFFSET_0200, OFFSET_0300);
}