Files
spring-boot-rest/java-dates/src/test/java/com/baeldung/date/comparison/LegacyDateComparisonUtilsUnitTest.java

54 lines
2.2 KiB
Java

package com.baeldung.date.comparison;
import org.junit.jupiter.api.Test;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
class LegacyDateComparisonUtilsUnitTest {
private Date toDate(LocalDateTime localDateTime) {
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
@Test
void givenDatesWithDifferentHours_whenIsSameDay_thenReturnsTrue() {
Date firstDate = toDate(LocalDateTime.of(2019, 8, 10, 11, 00, 00));
Date secondDate = toDate(LocalDateTime.of(2019, 8, 10, 12, 00, 00));
Date thirdDate = toDate(LocalDateTime.of(2019, 8, 15, 12, 00, 00));
assertThat(LegacyDateComparisonUtils.isSameDay(firstDate, secondDate), is(true));
assertThat(LegacyDateComparisonUtils.isSameDay(secondDate, thirdDate), is(false));
}
@Test
void givenDatesWithingSameHour_whenIsSameHour_thenReturnsTrue() {
Date firstDate = toDate(LocalDateTime.of(2019, 8, 10, 11, 00, 00));
Date secondDate = toDate(LocalDateTime.of(2019, 8, 10, 11, 15, 00));
Date thirdDate = toDate(LocalDateTime.of(2019, 8, 10, 12, 00, 00));
assertThat(LegacyDateComparisonUtils.isSameHour(firstDate, secondDate), is(true));
assertThat(LegacyDateComparisonUtils.isSameHour(secondDate, thirdDate), is(false));
}
@Test
void givenDates__whenComparing_thenAssertsPass() {
Date firstDate = toDate(LocalDateTime.of(2019, 8, 10, 0, 00, 00));
Date secondDate = toDate(LocalDateTime.of(2019, 8, 15, 0, 00, 00));
Date thirdDate = toDate(LocalDateTime.of(2019, 8, 15, 0, 00, 00)); // same date as secondDate
assertThat(firstDate.after(secondDate), is(false));
assertThat(firstDate.before(secondDate), is(true));
assertThat(firstDate.compareTo(secondDate), is(-1));
assertThat(firstDate.equals(secondDate), is(false));
assertThat(thirdDate.after(secondDate), is(false));
assertThat(thirdDate.before(secondDate), is(false));
assertThat(thirdDate.compareTo(secondDate), is(0));
assertThat(thirdDate.equals(secondDate), is(true));
}
}