package net.time4j.calendar; import net.time4j.PlainDate; import net.time4j.PlainTimestamp; import net.time4j.ZonalClock; import net.time4j.base.TimeSource; import net.time4j.engine.StartOfDay; import net.time4j.tz.ZonalOffset; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @RunWith(JUnit4.class) public class ClockTest { private static final ZonalClock CLOCK; static { TimeSource<?> clock = () -> PlainTimestamp.of(2015, 7, 17, 18, 1).atUTC(); CLOCK = new ZonalClock(clock, ZonalOffset.UTC); } @Test public void startAtMidnight() { assertThat( CLOCK.now(HijriCalendar.family(), HijriCalendar.VARIANT_UMALQURA, StartOfDay.MIDNIGHT).toString(), is("AH-1436-10-01[islamic-umalqura]T18:01")); } @Test public void startInEvening() { assertThat( CLOCK.now( HijriCalendar.family(), HijriCalendar.VARIANT_UMALQURA, StartOfDay.ofFixedDeviation(-21600 + 60) ).toString(), is("AH-1436-10-02[islamic-umalqura]T18:01")); } @Test public void nowInSystemTime() { assertThat( HijriCalendar.nowInSystemTime( HijriCalendar.VARIANT_UMALQURA, StartOfDay.MIDNIGHT ).transform(PlainDate.class), is(PlainDate.nowInSystemTime())); System.out.println(CopticCalendar.nowInSystemTime()); System.out.println(EthiopianCalendar.nowInSystemTime()); System.out.println(HijriCalendar.nowInSystemTime(HijriAlgorithm.WEST_ISLAMIC_CIVIL, StartOfDay.EVENING)); System.out.println(JulianCalendar.nowInSystemTime()); System.out.println(MinguoCalendar.nowInSystemTime()); System.out.println(PersianCalendar.nowInSystemTime()); System.out.println(ThaiSolarCalendar.nowInSystemTime()); } }