< prev index next >
test/java/time/tck/java/time/chrono/TCKIsoChronology.java
Print this page
*** 61,74 ****
import java.time.DateTimeException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
! import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.chrono.Chronology;
import java.time.chrono.IsoChronology;
import java.time.format.ResolverStyle;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalAccessor;
import java.time.temporal.TemporalAdjusters;
import java.time.temporal.TemporalField;
--- 61,80 ----
import java.time.DateTimeException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
! import java.time.OffsetDateTime;
! import java.time.Year;
import java.time.ZonedDateTime;
+ import java.time.ZoneId;
+ import java.time.ZoneOffset;
import java.time.chrono.Chronology;
+ import java.time.chrono.Era;
+ import java.time.chrono.HijrahEra;
import java.time.chrono.IsoChronology;
+ import java.time.chrono.IsoEra;
import java.time.format.ResolverStyle;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalAccessor;
import java.time.temporal.TemporalAdjusters;
import java.time.temporal.TemporalField;
*** 85,94 ****
--- 91,102 ----
*/
@Test
public class TCKIsoChronology {
// Can only work with IsoChronology here
// others may be in separate module
+ private static final ZoneOffset OFFSET_P0100 = ZoneOffset.ofHours(1);
+ private static final ZoneOffset OFFSET_M0100 = ZoneOffset.ofHours(-1);
@Test
public void factory_from_TemporalAccessor_dateWithChronlogy() {
assertEquals(Chronology.from(LocalDate.of(2012, 6, 30)), IsoChronology.INSTANCE);
}
*** 673,683 ****
// expected
}
}
}
//-----------------------------------------------------------------------
private static LocalDate date(int y, int m, int d) {
return LocalDate.of(y, m, d);
}
-
}
--- 681,786 ----
// expected
}
}
}
+ @DataProvider(name = "epochSecond_dataProvider")
+ Object[][] data_epochSecond() {
+ return new Object[][] {
+ {2008, 3, 3, 1, 2, 2, OFFSET_P0100},
+ {2008, 3, 3, 1, 2, 2, OFFSET_M0100},
+ {2008, 2, 28, 1, 2, 2, OFFSET_P0100},
+ {2009, 3, 3, 1, 2, 2, OFFSET_P0100},
+ {2009, 3, 3, 1, 2, 2, OFFSET_M0100},
+ {2009, 2, 28, 1, 2, 2, OFFSET_P0100},
+ {1968, 3, 3, 1, 2, 2, OFFSET_P0100},
+ {1968, 3, 3, 1, 2, 2, OFFSET_M0100},
+ {1968, 2, 28, 1, 2, 2, OFFSET_P0100},
+ {1969, 3, 3 , 1, 2, 2, OFFSET_P0100},
+ {1969, 3, 3, 1, 2, 2, OFFSET_M0100},
+ {1969, 2, 28, 1, 2, 2, OFFSET_P0100},
+ {1970, 1, 1, 1, 2, 2, OFFSET_P0100},
+ {1970, 1, 1, 1, 2, 2, OFFSET_M0100},
+ {-4, 3, 3 , 1, 2, 2, OFFSET_P0100},
+ {-1, 3, 3 , 1, 2, 2, OFFSET_P0100},
+ };
+ }
+
+ @Test(dataProvider = "epochSecond_dataProvider")
+ public void test_epochSecond_1(int y, int m, int d, int h , int min, int s, ZoneOffset offset) {
+ assertEquals(IsoChronology.INSTANCE.epochSecond(y, m, d, h, min, s, offset),
+ OffsetDateTime.of(y, m, d, h, min, s, 0, offset).toEpochSecond());
+ }
+
+ @Test
+ public void test_epochSecond_2() {
+ assertEquals(IsoChronology.INSTANCE.epochSecond(2008, 3, 3, 1, 2, 2, OFFSET_P0100),
+ ZonedDateTime.of(2008, 3, 3, 1, 2, 2, 0, ZoneId.of("+01:00")).toEpochSecond());
+ assertEquals(IsoChronology.INSTANCE.epochSecond(1969, 3, 3, 1, 2, 2, OFFSET_P0100),
+ ZonedDateTime.of(1969, 3, 3, 1, 2, 2, 0, ZoneId.of("+01:00")).toEpochSecond());
+ }
+
+ @Test
+ public void test_epochSecond_max() {
+ assertEquals(IsoChronology.INSTANCE.epochSecond(Year.MAX_VALUE, 12, 31, 23, 59, 59, ZoneOffset.MIN),
+ OffsetDateTime.of(Year.MAX_VALUE, 12, 31, 23, 59, 59, 0, ZoneOffset.MIN).toEpochSecond());
+ }
+
+ @Test
+ public void test_epochSecond_min() {
+ assertEquals(IsoChronology.INSTANCE.epochSecond(Year.MIN_VALUE, 1, 1, 0, 0, 0, ZoneOffset.MAX),
+ OffsetDateTime.of(Year.MIN_VALUE, 1, 1, 0, 0, 0, 0, ZoneOffset.MAX).toEpochSecond());
+ }
+
+ @Test(expectedExceptions=DateTimeException.class)
+ public void test_epochSecond_bad() {
+ IsoChronology.INSTANCE.epochSecond(2009, 2, 29, 1, 2, 2, OFFSET_P0100);
+ }
+
+ @DataProvider(name = "era_epochSecond_dataProvider")
+ Object[][] data_era_epochSecond() {
+ return new Object[][] {
+ {IsoEra.CE, 2008, 3, 3, 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 2008, 3, 3, 1, 2, 2, OFFSET_M0100},
+ {IsoEra.CE, 2008, 2, 28, 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 2009, 3, 3, 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 2009, 3, 3, 1, 2, 2, OFFSET_M0100},
+ {IsoEra.CE, 2009, 2, 28, 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 1968, 3, 3, 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 1968, 3, 3, 1, 2, 2, OFFSET_M0100},
+ {IsoEra.CE, 1968, 2, 28, 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 1969, 3, 3 , 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 1969, 3, 3, 1, 2, 2, OFFSET_M0100},
+ {IsoEra.CE, 1969, 2, 28, 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 1970, 1, 1, 1, 2, 2, OFFSET_P0100},
+ {IsoEra.CE, 1970, 1, 1, 1, 2, 2, OFFSET_M0100},
+ {IsoEra.BCE, 5, 3, 3 , 1, 2, 2, OFFSET_P0100},
+ {IsoEra.BCE, 2, 3, 3 , 1, 2, 2, OFFSET_P0100},
+ };
+ }
+
+ @Test(dataProvider = "era_epochSecond_dataProvider")
+ public void test_era_epochSecond_1(Era era, int y, int m, int d, int h , int min, int s, ZoneOffset offset) {
+ assertEquals(IsoChronology.INSTANCE.epochSecond(era, y, m, d, h, min, s, offset),
+ OffsetDateTime.of(IsoChronology.INSTANCE.date(era, y, m, d), LocalTime.of(h, min, s), offset)
+ .toEpochSecond());
+ }
+
+ @Test
+ public void test_era_epochSecond_2() {
+ assertEquals(IsoChronology.INSTANCE.epochSecond(IsoEra.CE, 2008, 3, 3, 1, 2, 2, OFFSET_P0100),
+ ZonedDateTime.of(2008, 3, 3, 1, 2, 2, 0, ZoneId.of("+01:00")).toEpochSecond());
+ assertEquals(IsoChronology.INSTANCE.epochSecond(IsoEra.CE, 1969, 3, 3, 1, 2, 2, OFFSET_P0100),
+ ZonedDateTime.of(1969, 3, 3, 1, 2, 2, 0, ZoneId.of("+01:00")).toEpochSecond());
+ }
+
+ @Test(expectedExceptions=DateTimeException.class)
+ public void test_era_epochSecond_bad() {
+ IsoChronology.INSTANCE.epochSecond(HijrahEra.AH, 2009, 2, 29, 1, 2, 2, OFFSET_P0100);
+ }
+
+
//-----------------------------------------------------------------------
private static LocalDate date(int y, int m, int d) {
return LocalDate.of(y, m, d);
}
}
< prev index next >