[공통] util → framework 유틸 #2
1 changed files with 161 additions and 0 deletions
|
|
@ -0,0 +1,161 @@
|
|||
package com.klaro.acquirecore.framework.util;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class DateUtilTest {
|
||||
|
||||
@Test
|
||||
void parseDate_withValidDateString_returnsLocalDate() {
|
||||
LocalDate result = DateUtil.parseDate("2024-01-15");
|
||||
assertEquals(LocalDate.of(2024, 1, 15), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void parseDate_withNull_throwsException() {
|
||||
assertThrows(NullPointerException.class, () -> DateUtil.parseDate(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
void formatDate_withValidDate_returnsFormattedString() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
String result = DateUtil.formatDate(date);
|
||||
assertEquals("2024-01-15", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void formatDate_withNull_throwsException() {
|
||||
assertThrows(NullPointerException.class, () -> DateUtil.formatDate(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
void daysBetween_calculatesCorrectDays() {
|
||||
LocalDate start = LocalDate.of(2024, 1, 1);
|
||||
LocalDate end = LocalDate.of(2024, 1, 11);
|
||||
long result = DateUtil.daysBetween(start, end);
|
||||
assertEquals(10, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void addDays_addsCorrectDays() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
LocalDate result = DateUtil.addDays(date, 5);
|
||||
assertEquals(LocalDate.of(2024, 1, 20), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void addDays_withNegativeValue_subtractsDays() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
LocalDate result = DateUtil.addDays(date, -5);
|
||||
assertEquals(LocalDate.of(2024, 1, 10), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void isBetween_withDateInRange_returnsTrue() {
|
||||
LocalDate date = LocalDate.of(2024, 6, 15);
|
||||
LocalDate start = LocalDate.of(2024, 1, 1);
|
||||
LocalDate end = LocalDate.of(2024, 12, 31);
|
||||
assertTrue(DateUtil.isBetween(date, start, end));
|
||||
}
|
||||
|
||||
@Test
|
||||
void isBetween_withDateOutOfRange_returnsFalse() {
|
||||
LocalDate date = LocalDate.of(2025, 1, 1);
|
||||
LocalDate start = LocalDate.of(2024, 1, 1);
|
||||
LocalDate end = LocalDate.of(2024, 12, 31);
|
||||
assertFalse(DateUtil.isBetween(date, start, end));
|
||||
}
|
||||
|
||||
@Test
|
||||
void isValidDate_withValidDate_returnsTrue() {
|
||||
assertTrue(DateUtil.isValidDate("2024-01-15"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void isValidDate_withInvalidDate_returnsFalse() {
|
||||
assertFalse(DateUtil.isValidDate("invalid-date"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void isValidDate_withNull_returnsFalse() {
|
||||
assertFalse(DateUtil.isValidDate(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
void today_returnsCurrentDate() {
|
||||
LocalDate result = DateUtil.today();
|
||||
assertEquals(LocalDate.now(), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void now_returnsCurrentDateTime() {
|
||||
LocalDateTime result = DateUtil.now();
|
||||
assertNotNull(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void parseDateTime_withValidDateTimeString_returnsLocalDateTime() {
|
||||
LocalDateTime result = DateUtil.parseDateTime("2024-01-15 10:30:45");
|
||||
assertEquals(LocalDateTime.of(2024, 1, 15, 10, 30, 45), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void formatDateTime_withValidDateTime_returnsFormattedString() {
|
||||
LocalDateTime dateTime = LocalDateTime.of(2024, 1, 15, 10, 30, 45);
|
||||
String result = DateUtil.formatDateTime(dateTime);
|
||||
assertEquals("2024-01-15 10:30:45", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void formatDateKorean_withValidDate_returnsKoreanFormat() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
String result = DateUtil.formatDateKorean(date);
|
||||
assertEquals("2024년 01월 15일", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void startOfDay_returnsStartOfDayDateTime() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
LocalDateTime result = DateUtil.startOfDay(date);
|
||||
assertEquals(LocalDateTime.of(2024, 1, 15, 0, 0, 0), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void endOfDay_returnsEndOfDayDateTime() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
LocalDateTime result = DateUtil.endOfDay(date);
|
||||
assertEquals(LocalDateTime.of(2024, 1, 15, 23, 59, 59, 999999999), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void addMonths_addsCorrectMonths() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
LocalDate result = DateUtil.addMonths(date, 3);
|
||||
assertEquals(LocalDate.of(2024, 4, 15), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void addYears_addsCorrectYears() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
LocalDate result = DateUtil.addYears(date, 1);
|
||||
assertEquals(LocalDate.of(2025, 1, 15), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void isBefore_withEarlierDate_returnsTrue() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 15);
|
||||
LocalDate dateToCompare = LocalDate.of(2024, 1, 20);
|
||||
assertTrue(DateUtil.isBefore(date, dateToCompare));
|
||||
}
|
||||
|
||||
@Test
|
||||
void isAfter_withLaterDate_returnsTrue() {
|
||||
LocalDate date = LocalDate.of(2024, 1, 20);
|
||||
LocalDate dateToCompare = LocalDate.of(2024, 1, 15);
|
||||
assertTrue(DateUtil.isAfter(date, dateToCompare));
|
||||
}
|
||||
}
|
||||
Reference in a new issue