46 lines
1.9 KiB
Java
46 lines
1.9 KiB
Java
package com.baeldung.datetime;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalTime;
|
|
import java.time.ZoneId;
|
|
import java.time.ZonedDateTime;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
|
|
public class UseZonedDateTimeUnitTest {
|
|
|
|
UseZonedDateTime zonedDateTime = new UseZonedDateTime();
|
|
|
|
@Test
|
|
public void givenZoneId_thenZonedDateTime() {
|
|
ZoneId zoneId = ZoneId.of("Europe/Paris");
|
|
ZonedDateTime zonedDatetime = zonedDateTime.getZonedDateTime(LocalDateTime.parse("2016-05-20T06:30"), zoneId);
|
|
Assert.assertEquals(zoneId, ZoneId.from(zonedDatetime));
|
|
}
|
|
|
|
@Test
|
|
public void givenLocalDateOrZoned_whenSettingStartOfDay_thenReturnMidnightInAllCases() {
|
|
LocalDate given = LocalDate.parse("2018-06-23");
|
|
ZoneId zone = ZoneId.of("Europe/Paris");
|
|
ZonedDateTime zonedGiven = ZonedDateTime.of(given, LocalTime.NOON, zone);
|
|
|
|
ZonedDateTime startOfOfDayWithMethod = zonedDateTime.getStartOfDay(given, zone);
|
|
ZonedDateTime startOfOfDayWithShorthandMethod = zonedDateTime.getStartOfDayShorthand(given, zone);
|
|
ZonedDateTime startOfOfDayFromZonedDateTime = zonedDateTime.getStartOfDayFromZonedDateTime(zonedGiven);
|
|
ZonedDateTime startOfOfDayAtMinTime = zonedDateTime.getStartOfDayAtMinTime(zonedGiven);
|
|
ZonedDateTime startOfOfDayAtMidnightTime = zonedDateTime.getStartOfDayAtMidnightTime(zonedGiven);
|
|
|
|
assertThat(startOfOfDayWithMethod).isEqualTo(startOfOfDayWithShorthandMethod)
|
|
.isEqualTo(startOfOfDayFromZonedDateTime)
|
|
.isEqualTo(startOfOfDayAtMinTime)
|
|
.isEqualTo(startOfOfDayAtMidnightTime);
|
|
assertThat(startOfOfDayWithMethod.toLocalTime()).isEqualTo(LocalTime.MIDNIGHT);
|
|
assertThat(startOfOfDayWithMethod.toLocalTime()
|
|
.toString()).isEqualTo("00:00");
|
|
}
|
|
}
|