package net.time4j.calendar; import net.time4j.GeneralTimestamp; import net.time4j.Moment; import net.time4j.PlainTime; import net.time4j.PlainTimestamp; 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 StartOfDayTest { @Test public void startAtMidnight() { Moment moment = PlainTimestamp.of(2015, 7, 17, 18, 1).atUTC(); HijriCalendar hijri = HijriCalendar.ofUmalqura(1436, 10, 1); assertThat( hijri.atTime(18, 1).at(ZonalOffset.UTC, StartOfDay.MIDNIGHT), is(moment)); assertThat( moment.toGeneralTimestamp( HijriCalendar.family(), HijriCalendar.VARIANT_UMALQURA, ZonalOffset.UTC, StartOfDay.MIDNIGHT), is(hijri.atTime(18, 1))); } @Test public void startInEvening() { Moment moment = PlainTimestamp.of(2015, 7, 17, 18, 1).atUTC(); HijriCalendar hijri = HijriCalendar.ofUmalqura(1436, 10, 2); assertThat( hijri.atTime(18, 1).at(ZonalOffset.UTC, StartOfDay.EVENING), is(moment)); GeneralTimestamp<HijriCalendar> tsp = moment.toGeneralTimestamp( HijriCalendar.family(), HijriCalendar.VARIANT_UMALQURA, ZonalOffset.UTC, StartOfDay.EVENING); assertThat(tsp.toDate(), is(hijri)); assertThat(tsp.toTime(), is(PlainTime.of(18, 1))); } }