@DataProvider(name="samples") Object[][] data_samples() { return new Object[][] { {ChronoField.EPOCH_DAY, JAN01_1970, 0L}, {JulianFields.JULIAN_DAY, JAN01_1970, 2400001L + 40587L}, {JulianFields.MODIFIED_JULIAN_DAY, JAN01_1970, 40587L}, {JulianFields.RATA_DIE, JAN01_1970, 710347L + (40587L - 31771L)}, {ChronoField.EPOCH_DAY, DEC31_1969, -1L}, {JulianFields.JULIAN_DAY, DEC31_1969, 2400001L + 40586L}, {JulianFields.MODIFIED_JULIAN_DAY, DEC31_1969, 40586L}, {JulianFields.RATA_DIE, DEC31_1969, 710347L + (40586L - 31771L)}, {ChronoField.EPOCH_DAY, NOV12_1945, (-24 * 365 - 6) - 31 - 30 + 11}, {JulianFields.JULIAN_DAY, NOV12_1945, 2431772L}, {JulianFields.MODIFIED_JULIAN_DAY, NOV12_1945, 31771L}, {JulianFields.RATA_DIE, NOV12_1945, 710347L}, {ChronoField.EPOCH_DAY, JAN01_0001, (-24 * 365 - 6) - 31 - 30 + 11 - 710346L}, {JulianFields.JULIAN_DAY, JAN01_0001, 2431772L - 710346L}, {JulianFields.MODIFIED_JULIAN_DAY, JAN01_0001, 31771L - 710346L}, {JulianFields.RATA_DIE, JAN01_0001, 1}, }; }
@Override protected List<TemporalField> validFields() { TemporalField[] array = { DAY_OF_WEEK, ALIGNED_DAY_OF_WEEK_IN_MONTH, ALIGNED_DAY_OF_WEEK_IN_YEAR, DAY_OF_MONTH, DAY_OF_YEAR, EPOCH_DAY, ALIGNED_WEEK_OF_MONTH, ALIGNED_WEEK_OF_YEAR, MONTH_OF_YEAR, PROLEPTIC_MONTH, YEAR_OF_ERA, YEAR, ERA, JulianFields.JULIAN_DAY, JulianFields.MODIFIED_JULIAN_DAY, JulianFields.RATA_DIE, }; return Arrays.asList(array); }
private static void outputLeapSecondDat(OutputStream jos, SortedMap<LocalDate, Byte> leapSeconds) throws IOException { DataOutputStream out = new DataOutputStream(jos); // file version out.writeByte(1); // count out.writeInt(leapSeconds.size() + 1); // first line is fixed in UTC-TAI leap second system, always 10 seconds at 1972-01-01 int offset = 10; out.writeLong(MJD_1972_01_01); out.writeInt(offset); // now treat all the transitions for (Map.Entry<LocalDate, Byte> rule : leapSeconds.entrySet()) { out.writeLong(JulianFields.MODIFIED_JULIAN_DAY.getFrom(rule.getKey())); offset += rule.getValue(); out.writeInt(offset); } out.flush(); }
@Override protected List<TemporalField> invalidFields() { List<TemporalField> list = new ArrayList<>(Arrays.<TemporalField>asList(ChronoField.values())); list.removeAll(validFields()); list.add(JulianFields.JULIAN_DAY); list.add(JulianFields.MODIFIED_JULIAN_DAY); list.add(JulianFields.RATA_DIE); return list; }
@Override protected List<TemporalField> validFields() { TemporalField[] array = { NANO_OF_SECOND, NANO_OF_DAY, MICRO_OF_SECOND, MICRO_OF_DAY, MILLI_OF_SECOND, MILLI_OF_DAY, SECOND_OF_MINUTE, SECOND_OF_DAY, MINUTE_OF_HOUR, MINUTE_OF_DAY, CLOCK_HOUR_OF_AMPM, HOUR_OF_AMPM, CLOCK_HOUR_OF_DAY, HOUR_OF_DAY, AMPM_OF_DAY, DAY_OF_WEEK, ALIGNED_DAY_OF_WEEK_IN_MONTH, ALIGNED_DAY_OF_WEEK_IN_YEAR, DAY_OF_MONTH, DAY_OF_YEAR, EPOCH_DAY, ALIGNED_WEEK_OF_MONTH, ALIGNED_WEEK_OF_YEAR, MONTH_OF_YEAR, PROLEPTIC_MONTH, YEAR_OF_ERA, YEAR, ERA, OFFSET_SECONDS, INSTANT_SECONDS, JulianFields.JULIAN_DAY, JulianFields.MODIFIED_JULIAN_DAY, JulianFields.RATA_DIE, }; return Arrays.asList(array); }
@Override protected List<TemporalField> validFields() { TemporalField[] array = { NANO_OF_SECOND, NANO_OF_DAY, MICRO_OF_SECOND, MICRO_OF_DAY, MILLI_OF_SECOND, MILLI_OF_DAY, SECOND_OF_MINUTE, SECOND_OF_DAY, MINUTE_OF_HOUR, MINUTE_OF_DAY, CLOCK_HOUR_OF_AMPM, HOUR_OF_AMPM, CLOCK_HOUR_OF_DAY, HOUR_OF_DAY, AMPM_OF_DAY, DAY_OF_WEEK, ALIGNED_DAY_OF_WEEK_IN_MONTH, ALIGNED_DAY_OF_WEEK_IN_YEAR, DAY_OF_MONTH, DAY_OF_YEAR, EPOCH_DAY, ALIGNED_WEEK_OF_MONTH, ALIGNED_WEEK_OF_YEAR, MONTH_OF_YEAR, PROLEPTIC_MONTH, YEAR_OF_ERA, YEAR, ERA, JulianFields.JULIAN_DAY, JulianFields.MODIFIED_JULIAN_DAY, JulianFields.RATA_DIE, }; return Arrays.asList(array); }
public void test_basics() { assertEquals(JulianFields.JULIAN_DAY.isDateBased(), true); assertEquals(JulianFields.JULIAN_DAY.isTimeBased(), false); assertEquals(JulianFields.MODIFIED_JULIAN_DAY.isDateBased(), true); assertEquals(JulianFields.MODIFIED_JULIAN_DAY.isTimeBased(), false); assertEquals(JulianFields.RATA_DIE.isDateBased(), true); assertEquals(JulianFields.RATA_DIE.isTimeBased(), false); }
@DataProvider(name="julian_fields") Object[][] julian_samples() { return new Object[][] { {JulianFields.JULIAN_DAY}, {JulianFields.MODIFIED_JULIAN_DAY}, {JulianFields.RATA_DIE}, }; }