Я не могу написать метод для проверки правильности формата даты.
Я написал метод проверки правильности формата даты, но он дает неправильные результаты, и я не могу найти ошибку.
boolean isDateFormatCorrect(String date) {
LocalDate ld = null;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH);
ld = LocalDate.parse(date, formatter);
String result = ld.format(formatter);
return result.equals(date);
}
@ParameterizedTest
@CsvSource({"2019-04-20", "2017-01-13"})
void isDateFormatCorrect(String date) {
assertThat(currencyService
.isDateFormatCorrect(date))
.isEqualTo(true);
}
@ParameterizedTest
@CsvSource({"20-04-2019", "01-01-1999", "22/2/2012", "2012/2/12"})
void isDateFormatNotCorrect(String date) {
assertThat(currencyService
.isDateFormatCorrect(date))
.isEqualTo(false);
}
Первый тест дает правильные ответы, а второй - исключение:
java.time.format.DateTimeParseException: Text '20-04-2019' could not be parsed at index 0
Я полагаю, что ответ прост, но я пытался исправить это более часа и потерял идеи.