mirror of
https://github.com/google/nomulus
synced 2026-09-04 15:17:13 +00:00
Add DateTimeUtils conversion methods (#260)
* Add DateTimeUtils conversion methods * Use a more reliabile method than getId * Add some more tests
This commit is contained in:
@@ -24,8 +24,11 @@ import static google.registry.util.DateTimeUtils.isBeforeOrAt;
|
||||
import static google.registry.util.DateTimeUtils.latestOf;
|
||||
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
||||
import static google.registry.util.DateTimeUtils.leapSafeSubtractYears;
|
||||
import static google.registry.util.DateTimeUtils.toJodaDateTime;
|
||||
import static google.registry.util.DateTimeUtils.toZonedDateTime;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import java.time.ZonedDateTime;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -94,4 +97,46 @@ public class DateTimeUtilsTest {
|
||||
public void testFailure_latestOfEmpty() {
|
||||
assertThrows(IllegalArgumentException.class, () -> earliestOf(ImmutableList.of()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_toZonedDateTime_preservesTimeZone() {
|
||||
DateTime dateTime = DateTime.parse("2019-09-06T10:59:36.283-07:00"); // PDT
|
||||
ZonedDateTime zonedDateTime = toZonedDateTime(dateTime);
|
||||
assertThat(zonedDateTime.toString()).isEqualTo("2019-09-06T10:59:36.283-07:00"); // still PDT
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_toZonedDateTime_fromStringZulu() {
|
||||
DateTime dateTime = DateTime.parse("2015-10-13T11:22:33.168Z");
|
||||
ZonedDateTime zonedDateTime = toZonedDateTime(dateTime);
|
||||
assertThat(zonedDateTime.toString()).isEqualTo("2015-10-13T11:22:33.168Z");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_toZonedDateTime_leapYear() {
|
||||
DateTime dateTime = DateTime.parse("2016-02-29T11:22:33.168Z");
|
||||
ZonedDateTime zonedDateTime = toZonedDateTime(dateTime);
|
||||
assertThat(zonedDateTime.toString()).isEqualTo("2016-02-29T11:22:33.168Z");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_toJodaDateTime_preservesTimeZone() {
|
||||
ZonedDateTime zonedDateTime = ZonedDateTime.parse("2019-09-06T10:59:36.283-07:00"); // PDT
|
||||
DateTime dateTime = toJodaDateTime(zonedDateTime);
|
||||
assertThat(dateTime.toString()).isEqualTo("2019-09-06T10:59:36.283-07:00"); // still PDT
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_toJodaDateTime_fromStringZulu() {
|
||||
ZonedDateTime zonedDateTime = ZonedDateTime.parse("2015-10-13T11:22:33.168Z");
|
||||
DateTime dateTime = toJodaDateTime(zonedDateTime);
|
||||
assertThat(dateTime.toString()).isEqualTo("2015-10-13T11:22:33.168Z");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_toJodaDateTime_leapYear() {
|
||||
ZonedDateTime zonedDateTime = ZonedDateTime.parse("2016-02-29T11:22:33.168Z");
|
||||
DateTime dateTime = toJodaDateTime(zonedDateTime);
|
||||
assertThat(dateTime.toString()).isEqualTo("2016-02-29T11:22:33.168Z");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user