shmyer commented on a change in pull request #14084: URL: https://github.com/apache/flink/pull/14084#discussion_r549788655
##########
File path:
flink-table/flink-table-planner-blink/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithOrderTest.java
##########
@@ -405,6 +412,280 @@ protected Double getValue(String v) {
}
}
+ /**
+ * Test for {@link DateType}.
+ */
+ public static final class DateFirstValueAggFunctionWithOrderTest
+ extends FirstValueAggFunctionWithOrderTestBase<LocalDate> {
+
+ @Override
+ protected List<List<LocalDate>> getInputValueSets() {
+ return Arrays.asList(
+ Arrays.asList(
+ LocalDate.parse("2020-11-11"),
+ LocalDate.parse("2020-11-12"),
+ LocalDate.parse("2020-11-13")
+ ),
+ Arrays.asList(
+ LocalDate.parse("2020-11-12"),
+ LocalDate.parse("2020-11-13"),
+ LocalDate.parse("2020-11-14")
+ ),
+ Arrays.asList(
+ LocalDate.parse("2020-11-12"),
+ LocalDate.parse("2020-11-11"),
+ null,
+ LocalDate.parse("2020-11-15"),
+ LocalDate.parse("2020-11-10"),
+ LocalDate.parse("2020-11-09"),
+ null
+ ),
+ Arrays.asList(
+ null,
+ null,
+ null
+ ),
+ Arrays.asList(
+ null,
+ LocalDate.parse("2020-11-12")
+ ));
+ }
+
+ @Override
+ protected List<List<Long>> getInputOrderSets() {
+ return Arrays.asList(
+ Arrays.asList(
+ 6L,
+ 2L,
+ 3L
+ ),
+ Arrays.asList(
+ 1L,
+ 2L,
+ 3L
+ ),
+ Arrays.asList(
+ 10L,
+ 2L,
+ 5L,
+ 3L,
+ 11L,
+ 7L,
+ 5L
+ ),
+ Arrays.asList(
+ 6L,
+ 9L,
+ 5L
+ ),
+ Arrays.asList(
+ 4L,
+ 3L
+ )
+ );
+ }
+
+ @Override
+ protected List<LocalDate> getExpectedResults() {
+ return Arrays.asList(
+ LocalDate.parse("2020-11-12"),
+ LocalDate.parse("2020-11-12"),
+ LocalDate.parse("2020-11-11"),
+ null,
+ LocalDate.parse("2020-11-12")
+ );
+ }
+
+ @Override
+ protected AggregateFunction<LocalDate, RowData> getAggregator()
{
+ return new
FirstValueAggFunction<>(DataTypes.DATE().getLogicalType());
+ }
+ }
+
+ /**
+ * Test for {@link TimeType}.
+ */
+ public static final class TimeFirstValueAggFunctionWithOrderTest
+ extends FirstValueAggFunctionWithOrderTestBase<LocalTime> {
+
+ private int precision = 3;
+
+ @Override
+ protected List<List<LocalTime>> getInputValueSets() {
+ return Arrays.asList(
+ Arrays.asList(
+ LocalTime.parse("12:00:00.123"),
+ LocalTime.parse("12:45:00.345"),
+ LocalTime.parse("18:30:15.678")
+ ),
+ Arrays.asList(
+ LocalTime.parse("18:00:00.123"),
+ LocalTime.parse("18:45:00.345"),
+ LocalTime.parse("20:30:15.678")
+ ),
+ Arrays.asList(
+ LocalTime.parse("12:00:00.123"),
+ LocalTime.parse("12:45:00.345"),
+ null,
+ LocalTime.parse("18:00:00.123"),
+ LocalTime.parse("18:45:00.345"),
+ LocalTime.parse("20:30:15.678"),
+ null
+ ),
+ Arrays.asList(
+ null,
+ null,
+ null
+ ),
+ Arrays.asList(
+ null,
+ LocalTime.parse("18:00:00.345")
+ ));
Review comment:
Sure, I'll align the formatting with the existing code.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
