package net.time4j;
import net.time4j.base.GregorianMath;
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 MinMaxTest {
@Test
public void minimumDate() {
assertThat(
PlainDate.axis().getMinimum(),
is(PlainDate.of(GregorianMath.MIN_YEAR, 1)));
}
@Test
public void minimumTime() {
assertThat(
PlainTime.axis().getMinimum(),
is(PlainTime.midnightAtStartOfDay()));
}
@Test
public void minimumTimestamp() {
assertThat(
PlainTimestamp.axis().getMinimum(),
is(PlainTimestamp.of(GregorianMath.MIN_YEAR, 1, 1, 0, 0)));
}
@Test
public void minimumMoment() {
assertThat(
Moment.axis().getMinimum(),
is(PlainTimestamp.axis().getMinimum().atUTC()));
}
@Test
public void maximumDate() {
assertThat(
PlainDate.axis().getMaximum(),
is(PlainDate.of(GregorianMath.MAX_YEAR, 12, 31)));
}
@Test
public void maximumTime() {
assertThat(
PlainTime.axis().getMaximum(),
is(PlainTime.midnightAtEndOfDay()));
}
@Test
public void maximumTimestamp() {
assertThat(
PlainTimestamp.axis().getMaximum(),
is(
PlainTimestamp.of(GregorianMath.MAX_YEAR, 12, 31, 23, 59, 59)
.with(PlainTime.NANO_OF_SECOND.maximized())));
}
@Test
public void maximumMoment() {
assertThat(
Moment.axis().getMaximum(),
is(PlainTimestamp.axis().getMaximum().atUTC()));
}
@Test
public void minimumMomentToTsp() {
ZonalOffset utc = ZonalOffset.UTC;
assertThat(
Moment.axis().getMinimum().toZonalTimestamp(utc),
is(PlainTimestamp.axis().getMinimum()));
}
@Test
public void maximumMomentToTsp() {
ZonalOffset utc = ZonalOffset.UTC;
assertThat(
Moment.axis().getMaximum().toZonalTimestamp(utc),
is(PlainTimestamp.axis().getMaximum()));
}
}