You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by yu...@apache.org on 2023/09/08 12:24:24 UTC

[flink] branch master updated: [FLINK-33031][table-planner][JUnit5 Migration] Module: flink-table-planner (AggFunctionTestBase) (#23354)

This is an automated email from the ASF dual-hosted git repository.

yuxia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new da69cc7ca3b [FLINK-33031][table-planner][JUnit5 Migration] Module: flink-table-planner (AggFunctionTestBase) (#23354)
da69cc7ca3b is described below

commit da69cc7ca3b25fd133e22f2e6b6b0c6471753a20
Author: Jiabao Sun <ji...@xtransfer.cn>
AuthorDate: Fri Sep 8 20:24:15 2023 +0800

    [FLINK-33031][table-planner][JUnit5 Migration] Module: flink-table-planner (AggFunctionTestBase) (#23354)
---
 .../aggfunctions/AggFunctionTestBase.java          | 12 ++---
 .../BatchApproxCountDistinctAggFunctionTest.java   | 57 +++++++++++++---------
 ...FirstLastValueAggFunctionWithOrderTestBase.java |  8 +--
 .../FirstValueAggFunctionWithOrderTest.java        | 37 ++++++++------
 .../FirstValueAggFunctionWithoutOrderTest.java     | 37 ++++++++------
 ...stValueWithRetractAggFunctionWithOrderTest.java | 37 ++++++++------
 ...alueWithRetractAggFunctionWithoutOrderTest.java | 37 ++++++++------
 .../functions/aggfunctions/LagAggFunctionTest.java |  2 +-
 .../LastValueAggFunctionWithOrderTest.java         | 37 ++++++++------
 .../LastValueAggFunctionWithoutOrderTest.java      | 37 ++++++++------
 ...stValueWithRetractAggFunctionWithOrderTest.java | 37 ++++++++------
 ...alueWithRetractAggFunctionWithoutOrderTest.java | 37 ++++++++------
 .../ListAggWithRetractAggFunctionTest.java         |  2 +-
 .../ListAggWsWithRetractAggFunctionTest.java       |  2 +-
 .../MaxWithRetractAggFunctionTest.java             | 55 +++++++++++++--------
 .../MinWithRetractAggFunctionTest.java             | 55 +++++++++++++--------
 16 files changed, 291 insertions(+), 198 deletions(-)

diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/AggFunctionTestBase.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/AggFunctionTestBase.java
index 0218decf80a..01f9a238af3 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/AggFunctionTestBase.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/AggFunctionTestBase.java
@@ -24,7 +24,7 @@ import org.apache.flink.table.functions.AggregateFunction;
 import org.apache.flink.table.planner.functions.utils.UserDefinedFunctionUtils;
 import org.apache.flink.util.Preconditions;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -41,7 +41,7 @@ import static org.assertj.core.api.Assertions.assertThat;
  * @param <T> the type for the aggregation result
  * @param <ACC> accumulate type
  */
-public abstract class AggFunctionTestBase<IN, T, ACC> {
+abstract class AggFunctionTestBase<IN, T, ACC> {
 
     protected abstract List<List<IN>> getInputValueSets();
 
@@ -61,7 +61,7 @@ public abstract class AggFunctionTestBase<IN, T, ACC> {
 
     @Test
     // test aggregate and retract functions without partial merge
-    public void testAccumulateAndRetractWithoutMerge()
+    void testAccumulateAndRetractWithoutMerge()
             throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
         // iterate over input sets
         List<List<IN>> inputValueSets = getInputValueSets();
@@ -88,7 +88,7 @@ public abstract class AggFunctionTestBase<IN, T, ACC> {
     }
 
     @Test
-    public void testAggregateWithMerge()
+    void testAggregateWithMerge()
             throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
         AggregateFunction<T, ACC> aggregator = getAggregator();
         if (UserDefinedFunctionUtils.ifMethodExistInFunction("merge", aggregator)) {
@@ -148,7 +148,7 @@ public abstract class AggFunctionTestBase<IN, T, ACC> {
     }
 
     @Test
-    public void testMergeReservedAccumulator()
+    void testMergeReservedAccumulator()
             throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
         AggregateFunction<T, ACC> aggregator = getAggregator();
         boolean hasMerge = UserDefinedFunctionUtils.ifMethodExistInFunction("merge", aggregator);
@@ -194,7 +194,7 @@ public abstract class AggFunctionTestBase<IN, T, ACC> {
     }
 
     @Test
-    public void testResetAccumulator()
+    void testResetAccumulator()
             throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
         AggregateFunction<T, ACC> aggregator = getAggregator();
         if (UserDefinedFunctionUtils.ifMethodExistInFunction("resetAccumulator", aggregator)) {
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/BatchApproxCountDistinctAggFunctionTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/BatchApproxCountDistinctAggFunctionTest.java
index 8328aa8ae4e..e1873259906 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/BatchApproxCountDistinctAggFunctionTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/BatchApproxCountDistinctAggFunctionTest.java
@@ -41,18 +41,16 @@ import org.apache.flink.table.types.logical.DecimalType;
 import org.apache.flink.table.types.logical.LocalZonedTimestampType;
 import org.apache.flink.table.types.logical.TimestampType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.util.Arrays;
 import java.util.List;
 
 /** Test case for built-in APPROX_COUNT_DISTINCT aggregate function. */
-@RunWith(Enclosed.class)
-public class BatchApproxCountDistinctAggFunctionTest {
+final class BatchApproxCountDistinctAggFunctionTest {
 
     /** Base class for the test. */
-    public abstract static class ApproxCountDistinctAggFunctionTestBase<IN>
+    abstract static class ApproxCountDistinctAggFunctionTestBase<IN>
             extends AggFunctionTestBase<IN, Long, HllBuffer> {
 
         @Override
@@ -62,7 +60,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link ByteApproxCountDistinctAggFunction}. */
-    public static class ByteApproxCountDistinctAggFunctionTest
+    @Nested
+    final class ByteApproxCountDistinctAggFunctionTest
             extends NumberApproxCountDistinctAggFunctionTestBase<Byte> {
 
         @Override
@@ -77,7 +76,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link ShortApproxCountDistinctAggFunction}. */
-    public static class ShortApproxCountDistinctAggFunctionTest
+    @Nested
+    final class ShortApproxCountDistinctAggFunctionTest
             extends NumberApproxCountDistinctAggFunctionTestBase<Short> {
 
         @Override
@@ -92,7 +92,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link ShortApproxCountDistinctAggFunction}. */
-    public static class IntegerApproxCountDistinctAggFunctionTest
+    @Nested
+    final class IntegerApproxCountDistinctAggFunctionTest
             extends NumberApproxCountDistinctAggFunctionTestBase<Integer> {
 
         @Override
@@ -107,7 +108,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link LongApproxCountDistinctAggFunction}. */
-    public static class LongApproxCountDistinctAggFunctionTest
+    @Nested
+    final class LongApproxCountDistinctAggFunctionTest
             extends NumberApproxCountDistinctAggFunctionTestBase<Long> {
 
         @Override
@@ -122,7 +124,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link FloatApproxCountDistinctAggFunction}. */
-    public static class FloatApproxCountDistinctAggFunctionTest
+    @Nested
+    final class FloatApproxCountDistinctAggFunctionTest
             extends ApproxCountDistinctAggFunctionTestBase<Float> {
 
         @Override
@@ -148,7 +151,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link DoubleApproxCountDistinctAggFunction}. */
-    public static class DoubleApproxCountDistinctAggFunctionTest
+    @Nested
+    final class DoubleApproxCountDistinctAggFunctionTest
             extends ApproxCountDistinctAggFunctionTestBase<Double> {
 
         @Override
@@ -174,13 +178,13 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link DecimalApproxCountDistinctAggFunction}. */
-    public abstract static class DecimalApproxCountDistinctAggFunctionTestBase
+    abstract static class DecimalApproxCountDistinctAggFunctionTestBase
             extends ApproxCountDistinctAggFunctionTestBase<DecimalData> {
 
         private final int precision;
         private final int scale;
 
-        public DecimalApproxCountDistinctAggFunctionTestBase(int precision, int scale) {
+        DecimalApproxCountDistinctAggFunctionTestBase(int precision, int scale) {
             this.precision = precision;
             this.scale = scale;
         }
@@ -214,25 +218,28 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link DecimalApproxCountDistinctAggFunction} for 20 precision and 6 scale. */
-    public abstract static class Decimal20ApproxCountDistinctAggFunctionTest
+    @Nested
+    final class Decimal20ApproxCountDistinctAggFunctionTest
             extends DecimalApproxCountDistinctAggFunctionTestBase {
 
-        public Decimal20ApproxCountDistinctAggFunctionTest() {
+        Decimal20ApproxCountDistinctAggFunctionTest() {
             super(20, 6);
         }
     }
 
     /** Test for {@link DecimalApproxCountDistinctAggFunction} for 12 precision and 6 scale. */
-    public abstract static class Decimal12ApproxCountDistinctAggFunctionTest
+    @Nested
+    final class Decimal12ApproxCountDistinctAggFunctionTest
             extends DecimalApproxCountDistinctAggFunctionTestBase {
 
-        public Decimal12ApproxCountDistinctAggFunctionTest() {
+        Decimal12ApproxCountDistinctAggFunctionTest() {
             super(12, 6);
         }
     }
 
     /** Test for {@link DateApproxCountDistinctAggFunction}. */
-    public static class DateApproxCountDistinctAggFunctionTest
+    @Nested
+    final class DateApproxCountDistinctAggFunctionTest
             extends NumberApproxCountDistinctAggFunctionTestBase<Integer> {
 
         @Override
@@ -247,7 +254,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link DateApproxCountDistinctAggFunction}. */
-    public static class TimeApproxCountDistinctAggFunctionTest
+    @Nested
+    final class TimeApproxCountDistinctAggFunctionTest
             extends NumberApproxCountDistinctAggFunctionTestBase<Integer> {
 
         @Override
@@ -262,7 +270,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link TimestampApproxCountDistinctAggFunction}. */
-    public static class TimestampApproxCountDistinctAggFunctionTest
+    @Nested
+    final class TimestampApproxCountDistinctAggFunctionTest
             extends ApproxCountDistinctAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -293,7 +302,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link TimestampLtzApproxCountDistinctAggFunction}. */
-    public static class TimestampLtzApproxCountDistinctAggFunctionTest
+    @Nested
+    final class TimestampLtzApproxCountDistinctAggFunctionTest
             extends ApproxCountDistinctAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -324,7 +334,8 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test for {@link TimestampLtzApproxCountDistinctAggFunction}. */
-    public static class StringApproxCountDistinctAggFunctionTest
+    @Nested
+    final class StringApproxCountDistinctAggFunctionTest
             extends ApproxCountDistinctAggFunctionTestBase<StringData> {
 
         @Override
@@ -355,7 +366,7 @@ public class BatchApproxCountDistinctAggFunctionTest {
     }
 
     /** Test base for {@link ApproxCountDistinctAggFunction} of numeric types. */
-    public abstract static class NumberApproxCountDistinctAggFunctionTestBase<T>
+    abstract static class NumberApproxCountDistinctAggFunctionTestBase<T>
             extends ApproxCountDistinctAggFunctionTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstLastValueAggFunctionWithOrderTestBase.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstLastValueAggFunctionWithOrderTestBase.java
index 3f9051e1cf1..adf3d3873fe 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstLastValueAggFunctionWithOrderTestBase.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstLastValueAggFunctionWithOrderTestBase.java
@@ -23,7 +23,7 @@ import org.apache.flink.table.functions.AggregateFunction;
 import org.apache.flink.table.planner.functions.utils.UserDefinedFunctionUtils;
 import org.apache.flink.util.Preconditions;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -33,7 +33,7 @@ import java.util.List;
  * Base test case for built-in FIRST_VALUE and LAST_VALUE (with retract) aggregate function. This
  * class tests `accumulate` method with order argument.
  */
-public abstract class FirstLastValueAggFunctionWithOrderTestBase<T, ACC>
+abstract class FirstLastValueAggFunctionWithOrderTestBase<T, ACC>
         extends AggFunctionTestBase<T, T, ACC> {
 
     protected Method getAccumulateFunc() throws NoSuchMethodException {
@@ -46,7 +46,7 @@ public abstract class FirstLastValueAggFunctionWithOrderTestBase<T, ACC>
 
     @Test
     @Override
-    public void testAccumulateAndRetractWithoutMerge()
+    void testAccumulateAndRetractWithoutMerge()
             throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
         // iterate over input sets
         List<List<T>> inputValueSets = getInputValueSets();
@@ -80,7 +80,7 @@ public abstract class FirstLastValueAggFunctionWithOrderTestBase<T, ACC>
 
     @Test
     @Override
-    public void testResetAccumulator()
+    void testResetAccumulator()
             throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
         AggregateFunction<T, ACC> aggregator = getAggregator();
         if (UserDefinedFunctionUtils.ifMethodExistInFunction("resetAccumulator", aggregator)) {
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithOrderTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithOrderTest.java
index 30a16d7f093..2341a58f940 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithOrderTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithOrderTest.java
@@ -35,8 +35,7 @@ import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 import org.apache.flink.testutils.serialization.types.ShortType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.util.Arrays;
 import java.util.List;
@@ -45,8 +44,7 @@ import java.util.List;
  * Test case for built-in FIRST_VALUE aggregate function. This class tests `accumulate` method with
  * order argument.
  */
-@RunWith(Enclosed.class)
-public final class FirstValueAggFunctionWithOrderTest {
+final class FirstValueAggFunctionWithOrderTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -57,7 +55,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class ByteFirstValueAggFunctionWithOrderTest
             extends NumberFirstValueAggFunctionWithOrderTestBase<Byte> {
 
         @Override
@@ -72,7 +71,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link ShortType}. */
-    public static final class ShortFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class ShortFirstValueAggFunctionWithOrderTest
             extends NumberFirstValueAggFunctionWithOrderTestBase<Short> {
 
         @Override
@@ -87,7 +87,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class IntFirstValueAggFunctionWithOrderTest
             extends NumberFirstValueAggFunctionWithOrderTestBase<Integer> {
 
         @Override
@@ -102,7 +103,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class LongFirstValueAggFunctionWithOrderTest
             extends NumberFirstValueAggFunctionWithOrderTestBase<Long> {
 
         @Override
@@ -117,7 +119,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class FloatFirstValueAggFunctionWithOrderTest
             extends NumberFirstValueAggFunctionWithOrderTestBase<Float> {
 
         @Override
@@ -132,7 +135,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class DoubleFirstValueAggFunctionWithOrderTest
             extends NumberFirstValueAggFunctionWithOrderTestBase<Double> {
 
         @Override
@@ -147,7 +151,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class BooleanFirstValueAggFunctionWithOrderTest
             extends FirstValueAggFunctionWithOrderTestBase<Boolean> {
 
         @Override
@@ -182,7 +187,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class DecimalFirstValueAggFunctionWithOrderTest
             extends FirstValueAggFunctionWithOrderTestBase<DecimalData> {
 
         private int precision = 20;
@@ -229,7 +235,8 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringFirstValueAggFunctionWithOrderTest
+    @Nested
+    final class StringFirstValueAggFunctionWithOrderTest
             extends FirstValueAggFunctionWithOrderTestBase<StringData> {
 
         @Override
@@ -279,7 +286,7 @@ public final class FirstValueAggFunctionWithOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link FirstValueAggFunction}. */
-    public abstract static class FirstValueAggFunctionWithOrderTestBase<T>
+    abstract static class FirstValueAggFunctionWithOrderTestBase<T>
             extends FirstLastValueAggFunctionWithOrderTestBase<T, RowData> {
 
         @Override
@@ -289,7 +296,7 @@ public final class FirstValueAggFunctionWithOrderTest {
     }
 
     /** Test base for {@link FirstValueAggFunction} with number types. */
-    public abstract static class NumberFirstValueAggFunctionWithOrderTestBase<T>
+    abstract static class NumberFirstValueAggFunctionWithOrderTestBase<T>
             extends FirstValueAggFunctionWithOrderTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithoutOrderTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithoutOrderTest.java
index fbfc6050e5b..173dfcfe985 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithoutOrderTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueAggFunctionWithoutOrderTest.java
@@ -35,8 +35,7 @@ import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 import org.apache.flink.testutils.serialization.types.ShortType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.util.Arrays;
 import java.util.List;
@@ -45,8 +44,7 @@ import java.util.List;
  * Test case for built-in FIRST_VALUE aggregate function. This class tests `accumulate` method
  * without order argument.
  */
-@RunWith(Enclosed.class)
-public final class FirstValueAggFunctionWithoutOrderTest {
+final class FirstValueAggFunctionWithoutOrderTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -56,7 +54,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class ByteFirstValueAggFunctionWithoutOrderTest
             extends NumberFirstValueAggFunctionWithoutOrderTest<Byte> {
 
         @Override
@@ -71,7 +70,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link ShortType}. */
-    public static final class ShortFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class ShortFirstValueAggFunctionWithoutOrderTest
             extends NumberFirstValueAggFunctionWithoutOrderTest<Short> {
 
         @Override
@@ -86,7 +86,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class IntFirstValueAggFunctionWithoutOrderTest
             extends NumberFirstValueAggFunctionWithoutOrderTest<Integer> {
 
         @Override
@@ -101,7 +102,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class LongFirstValueAggFunctionWithoutOrderTest
             extends NumberFirstValueAggFunctionWithoutOrderTest<Long> {
 
         @Override
@@ -116,7 +118,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class FloatFirstValueAggFunctionWithoutOrderTest
             extends NumberFirstValueAggFunctionWithoutOrderTest<Float> {
 
         @Override
@@ -131,7 +134,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class DoubleFirstValueAggFunctionWithoutOrderTest
             extends NumberFirstValueAggFunctionWithoutOrderTest<Double> {
 
         @Override
@@ -146,7 +150,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class BooleanFirstValueAggFunctionWithoutOrderTest
             extends FirstValueAggFunctionWithoutOrderTestBase<Boolean> {
 
         @Override
@@ -171,7 +176,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class DecimalFirstValueAggFunctionWithoutOrderTest
             extends FirstValueAggFunctionWithoutOrderTestBase<DecimalData> {
 
         private int precision = 20;
@@ -210,7 +216,8 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringFirstValueAggFunctionWithoutOrderTest
+    @Nested
+    final class StringFirstValueAggFunctionWithoutOrderTest
             extends FirstValueAggFunctionWithoutOrderTestBase<StringData> {
 
         @Override
@@ -252,7 +259,7 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link FirstValueAggFunction} without order. */
-    public abstract static class FirstValueAggFunctionWithoutOrderTestBase<T>
+    abstract static class FirstValueAggFunctionWithoutOrderTestBase<T>
             extends AggFunctionTestBase<T, T, RowData> {
 
         @Override
@@ -262,7 +269,7 @@ public final class FirstValueAggFunctionWithoutOrderTest {
     }
 
     /** Test base for {@link FirstValueAggFunction} with number types. */
-    public abstract static class NumberFirstValueAggFunctionWithoutOrderTest<T>
+    abstract static class NumberFirstValueAggFunctionWithoutOrderTest<T>
             extends FirstValueAggFunctionWithoutOrderTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunctionWithOrderTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunctionWithOrderTest.java
index 0020c2de424..b4b30bce1dd 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunctionWithOrderTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunctionWithOrderTest.java
@@ -35,8 +35,7 @@ import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 import org.apache.flink.testutils.serialization.types.ShortType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.lang.reflect.Method;
 import java.util.Arrays;
@@ -46,8 +45,7 @@ import java.util.List;
  * Test case for built-in FIRST_VALUE with retract aggregate function. This class tests `accumulate`
  * method with order argument.
  */
-@RunWith(Enclosed.class)
-public final class FirstValueWithRetractAggFunctionWithOrderTest {
+final class FirstValueWithRetractAggFunctionWithOrderTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -58,7 +56,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class ByteFirstValueWithRetractAggFunctionWithOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithOrderTestBase<Byte> {
 
         @Override
@@ -73,7 +72,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link ShortType}. */
-    public static final class ShortFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class ShortFirstValueWithRetractAggFunctionWithOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithOrderTestBase<Short> {
 
         @Override
@@ -89,7 +89,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class IntFirstValueWithRetractAggFunctionWithOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithOrderTestBase<Integer> {
 
         @Override
@@ -105,7 +106,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class LongFirstValueWithRetractAggFunctionWithOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithOrderTestBase<Long> {
 
         @Override
@@ -120,7 +122,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class FloatFirstValueWithRetractAggFunctionWithOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithOrderTestBase<Float> {
 
         @Override
@@ -136,7 +139,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class DoubleFirstValueWithRetractAggFunctionWithOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithOrderTestBase<Double> {
 
         @Override
@@ -152,7 +156,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class BooleanFirstValueWithRetractAggFunctionWithOrderTest
             extends FirstValueWithRetractAggFunctionWithOrderTestBase<Boolean> {
 
         @Override
@@ -188,7 +193,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class DecimalFirstValueWithRetractAggFunctionWithOrderTest
             extends FirstValueWithRetractAggFunctionWithOrderTestBase<DecimalData> {
 
         private int precision = 20;
@@ -236,7 +242,8 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringFirstValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class StringFirstValueWithRetractAggFunctionWithOrderTest
             extends FirstValueWithRetractAggFunctionWithOrderTestBase<StringData> {
 
         @Override
@@ -285,7 +292,7 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link FirstValueWithRetractAggFunction} with order. */
-    public abstract static class FirstValueWithRetractAggFunctionWithOrderTestBase<T>
+    abstract static class FirstValueWithRetractAggFunctionWithOrderTestBase<T>
             extends FirstLastValueAggFunctionWithOrderTestBase<
                     T, FirstValueWithRetractAccumulator<T>> {
 
@@ -303,7 +310,7 @@ public final class FirstValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test base for {@link FirstValueWithRetractAggFunction} with number types. */
-    public abstract static class NumberFirstValueWithRetractAggFunctionWithOrderTestBase<T>
+    abstract static class NumberFirstValueWithRetractAggFunctionWithOrderTestBase<T>
             extends FirstValueWithRetractAggFunctionWithOrderTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunctionWithoutOrderTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunctionWithoutOrderTest.java
index 6d60f021220..97fe1c8dc24 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunctionWithoutOrderTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/FirstValueWithRetractAggFunctionWithoutOrderTest.java
@@ -35,8 +35,7 @@ import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 import org.apache.flink.testutils.serialization.types.ShortType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.lang.reflect.Method;
 import java.util.Arrays;
@@ -46,8 +45,7 @@ import java.util.List;
  * Test case for built-in FirstValue with retract aggregate function. This class tests `accumulate`
  * method without order argument.
  */
-@RunWith(Enclosed.class)
-public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
+final class FirstValueWithRetractAggFunctionWithoutOrderTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -57,7 +55,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class ByteFirstValueWithRetractAggFunctionWithoutOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithoutOrderTestBase<Byte> {
 
         @Override
@@ -72,7 +71,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link ShortType}. */
-    public static final class ShortFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class ShortFirstValueWithRetractAggFunctionWithoutOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithoutOrderTestBase<Short> {
 
         @Override
@@ -88,7 +88,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class IntFirstValueWithRetractAggFunctionWithoutOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithoutOrderTestBase<Integer> {
 
         @Override
@@ -104,7 +105,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class LongFirstValueWithRetractAggFunctionWithoutOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithoutOrderTestBase<Long> {
 
         @Override
@@ -119,7 +121,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class FloatFirstValueWithRetractAggFunctionWithoutOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithoutOrderTestBase<Float> {
 
         @Override
@@ -135,7 +138,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class DoubleFirstValueWithRetractAggFunctionWithoutOrderTest
             extends NumberFirstValueWithRetractAggFunctionWithoutOrderTestBase<Double> {
 
         @Override
@@ -151,7 +155,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class BooleanFirstValueWithRetractAggFunctionWithoutOrderTest
             extends FirstValueWithRetractAggFunctionWithoutOrderTestBase<Boolean> {
 
         @Override
@@ -177,7 +182,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class DecimalFirstValueWithRetractAggFunctionWithoutOrderTest
             extends FirstValueWithRetractAggFunctionWithoutOrderTestBase<DecimalData> {
 
         private int precision = 20;
@@ -217,7 +223,8 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringFirstValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class StringFirstValueWithRetractAggFunctionWithoutOrderTest
             extends FirstValueWithRetractAggFunctionWithoutOrderTestBase<StringData> {
 
         @Override
@@ -261,7 +268,7 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link FirstValueWithRetractAggFunction} without order. */
-    public abstract static class FirstValueWithRetractAggFunctionWithoutOrderTestBase<T>
+    abstract static class FirstValueWithRetractAggFunctionWithoutOrderTestBase<T>
             extends AggFunctionTestBase<T, T, FirstValueWithRetractAccumulator<T>> {
 
         @Override
@@ -276,7 +283,7 @@ public final class FirstValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test base for {@link FirstValueWithRetractAggFunction} with number types. */
-    public abstract static class NumberFirstValueWithRetractAggFunctionWithoutOrderTestBase<T>
+    abstract static class NumberFirstValueWithRetractAggFunctionWithoutOrderTestBase<T>
             extends FirstValueWithRetractAggFunctionWithoutOrderTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LagAggFunctionTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LagAggFunctionTest.java
index d7c2e94cd90..00d3a03f100 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LagAggFunctionTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LagAggFunctionTest.java
@@ -33,7 +33,7 @@ import java.util.List;
 import static org.apache.flink.table.data.StringData.fromString;
 
 /** Test for {@link LagAggFunction}. */
-public class LagAggFunctionTest
+class LagAggFunctionTest
         extends AggFunctionTestBase<StringData, StringData, LagAggFunction.LagAcc<StringData>> {
 
     @Override
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunctionWithOrderTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunctionWithOrderTest.java
index 54928cd6573..75d0d53771c 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunctionWithOrderTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunctionWithOrderTest.java
@@ -35,8 +35,7 @@ import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 import org.apache.flink.testutils.serialization.types.ShortType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.util.Arrays;
 import java.util.List;
@@ -45,8 +44,7 @@ import java.util.List;
  * Test case for built-in LastValue aggregate function. This class tests `accumulate` method with
  * order argument.
  */
-@RunWith(Enclosed.class)
-public final class LastValueAggFunctionWithOrderTest {
+final class LastValueAggFunctionWithOrderTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -57,7 +55,8 @@ public final class LastValueAggFunctionWithOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteLastValueAggFunctionWithOrderTest
+    @Nested
+    final class ByteLastValueAggFunctionWithOrderTest
             extends NumberLastValueAggFunctionWithOrderTestBase<Byte> {
 
         @Override
@@ -72,7 +71,8 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link ShortType}. */
-    public static final class ShortLastValueAggFunctionWithOrderTest
+    @Nested
+    final class ShortLastValueAggFunctionWithOrderTest
             extends NumberLastValueAggFunctionWithOrderTestBase<Short> {
 
         @Override
@@ -87,7 +87,8 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntLastValueAggFunctionWithOrderTest
+    @Nested
+    final class IntLastValueAggFunctionWithOrderTest
             extends NumberLastValueAggFunctionWithOrderTestBase<Integer> {
 
         @Override
@@ -102,7 +103,8 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongLastValueAggFunctionWithOrderTest
+    @Nested
+    final class LongLastValueAggFunctionWithOrderTest
             extends NumberLastValueAggFunctionWithOrderTestBase<Long> {
 
         @Override
@@ -117,7 +119,8 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatLastValueAggFunctionWithOrderTest
+    @Nested
+    final class FloatLastValueAggFunctionWithOrderTest
             extends NumberLastValueAggFunctionWithOrderTestBase<Float> {
 
         @Override
@@ -132,7 +135,8 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleLastValueAggFunctionWithOrderTest
+    @Nested
+    final class DoubleLastValueAggFunctionWithOrderTest
             extends NumberLastValueAggFunctionWithOrderTestBase<Double> {
 
         @Override
@@ -147,7 +151,8 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanLastValueAggFunctionWithOrderTest
+    @Nested
+    final class BooleanLastValueAggFunctionWithOrderTest
             extends LastValueAggFunctionWithOrderTestBase<Boolean> {
 
         @Override
@@ -182,7 +187,8 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalLastValueAggFunctionWithOrderTest
+    @Nested
+    final class DecimalLastValueAggFunctionWithOrderTest
             extends LastValueAggFunctionWithOrderTestBase<DecimalData> {
 
         private int precision = 20;
@@ -228,7 +234,8 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringLastValueAggFunctionWithOrderTest
+    @Nested
+    final class StringLastValueAggFunctionWithOrderTest
             extends LastValueAggFunctionWithOrderTestBase<StringData> {
 
         @Override
@@ -276,7 +283,7 @@ public final class LastValueAggFunctionWithOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link LastValueAggFunction}. */
-    public abstract static class LastValueAggFunctionWithOrderTestBase<T>
+    abstract static class LastValueAggFunctionWithOrderTestBase<T>
             extends FirstLastValueAggFunctionWithOrderTestBase<T, RowData> {
 
         @Override
@@ -286,7 +293,7 @@ public final class LastValueAggFunctionWithOrderTest {
     }
 
     /** Test base for {@link LastValueAggFunction} with number types. */
-    public abstract static class NumberLastValueAggFunctionWithOrderTestBase<T>
+    abstract static class NumberLastValueAggFunctionWithOrderTestBase<T>
             extends LastValueAggFunctionWithOrderTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunctionWithoutOrderTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunctionWithoutOrderTest.java
index 4ed95992d65..96f0c9f2bad 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunctionWithoutOrderTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueAggFunctionWithoutOrderTest.java
@@ -35,8 +35,7 @@ import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 import org.apache.flink.testutils.serialization.types.ShortType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.util.Arrays;
 import java.util.List;
@@ -45,8 +44,7 @@ import java.util.List;
  * Test case for built-in LAST_VALUE aggregate function. This class tests `accumulate` method
  * without order argument.
  */
-@RunWith(Enclosed.class)
-public final class LastValueAggFunctionWithoutOrderTest {
+final class LastValueAggFunctionWithoutOrderTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -56,7 +54,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class ByteLastValueAggFunctionWithoutOrderTest
             extends NumberLastValueAggFunctionWithoutOrderTestBase<Byte> {
 
         @Override
@@ -71,7 +70,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link ShortType}. */
-    public static final class ShortLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class ShortLastValueAggFunctionWithoutOrderTest
             extends NumberLastValueAggFunctionWithoutOrderTestBase<Short> {
 
         @Override
@@ -86,7 +86,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class IntLastValueAggFunctionWithoutOrderTest
             extends NumberLastValueAggFunctionWithoutOrderTestBase<Integer> {
 
         @Override
@@ -101,7 +102,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class LongLastValueAggFunctionWithoutOrderTest
             extends NumberLastValueAggFunctionWithoutOrderTestBase<Long> {
 
         @Override
@@ -116,7 +118,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class FloatLastValueAggFunctionWithoutOrderTest
             extends NumberLastValueAggFunctionWithoutOrderTestBase<Float> {
 
         @Override
@@ -131,7 +134,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class DoubleLastValueAggFunctionWithoutOrderTest
             extends NumberLastValueAggFunctionWithoutOrderTestBase<Double> {
 
         @Override
@@ -146,7 +150,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class BooleanLastValueAggFunctionWithoutOrderTest
             extends LastValueAggFunctionWithoutOrderTestBase<Boolean> {
 
         @Override
@@ -171,7 +176,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class DecimalLastValueAggFunctionWithoutOrderTest
             extends LastValueAggFunctionWithoutOrderTestBase<DecimalData> {
 
         private int precision = 20;
@@ -209,7 +215,8 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringLastValueAggFunctionWithoutOrderTest
+    @Nested
+    final class StringLastValueAggFunctionWithoutOrderTest
             extends LastValueAggFunctionWithoutOrderTestBase<StringData> {
 
         @Override
@@ -249,7 +256,7 @@ public final class LastValueAggFunctionWithoutOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link LastValueAggFunction} without order. */
-    public abstract static class LastValueAggFunctionWithoutOrderTestBase<T>
+    abstract static class LastValueAggFunctionWithoutOrderTestBase<T>
             extends AggFunctionTestBase<T, T, RowData> {
 
         @Override
@@ -259,7 +266,7 @@ public final class LastValueAggFunctionWithoutOrderTest {
     }
 
     /** Test base for {@link LastValueAggFunction} with number types. */
-    public abstract static class NumberLastValueAggFunctionWithoutOrderTestBase<T>
+    abstract static class NumberLastValueAggFunctionWithoutOrderTestBase<T>
             extends LastValueAggFunctionWithoutOrderTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunctionWithOrderTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunctionWithOrderTest.java
index 300765bc0b6..360794eb20a 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunctionWithOrderTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunctionWithOrderTest.java
@@ -35,8 +35,7 @@ import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 import org.apache.flink.testutils.serialization.types.ShortType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.lang.reflect.Method;
 import java.util.Arrays;
@@ -46,8 +45,7 @@ import java.util.List;
  * Test case for built-in LAST_VALUE with retract aggregate function. This class tests `accumulate`
  * method with order argument.
  */
-@RunWith(Enclosed.class)
-public final class LastValueWithRetractAggFunctionWithOrderTest {
+final class LastValueWithRetractAggFunctionWithOrderTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -58,7 +56,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class ByteLastValueWithRetractAggFunctionWithOrderTest
             extends NumberLastValueWithRetractAggFunctionWithOrderTestBase<Byte> {
 
         @Override
@@ -73,7 +72,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link ShortType}. */
-    public static final class ShortLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class ShortLastValueWithRetractAggFunctionWithOrderTest
             extends NumberLastValueWithRetractAggFunctionWithOrderTestBase<Short> {
 
         @Override
@@ -88,7 +88,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class IntLastValueWithRetractAggFunctionWithOrderTest
             extends NumberLastValueWithRetractAggFunctionWithOrderTestBase<Integer> {
 
         @Override
@@ -104,7 +105,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class LongLastValueWithRetractAggFunctionWithOrderTest
             extends NumberLastValueWithRetractAggFunctionWithOrderTestBase<Long> {
 
         @Override
@@ -119,7 +121,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class FloatLastValueWithRetractAggFunctionWithOrderTest
             extends NumberLastValueWithRetractAggFunctionWithOrderTestBase<Float> {
 
         @Override
@@ -134,7 +137,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class DoubleLastValueWithRetractAggFunctionWithOrderTest
             extends NumberLastValueWithRetractAggFunctionWithOrderTestBase<Double> {
 
         @Override
@@ -150,7 +154,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class BooleanLastValueWithRetractAggFunctionWithOrderTest
             extends LastValueWithRetractAggFunctionWithOrderTestBase<Boolean> {
 
         @Override
@@ -186,7 +191,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class DecimalLastValueWithRetractAggFunctionWithOrderTest
             extends LastValueWithRetractAggFunctionWithOrderTestBase<DecimalData> {
 
         private int precision = 20;
@@ -234,7 +240,8 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringLastValueWithRetractAggFunctionWithOrderTest
+    @Nested
+    final class StringLastValueWithRetractAggFunctionWithOrderTest
             extends LastValueWithRetractAggFunctionWithOrderTestBase<StringData> {
 
         @Override
@@ -288,7 +295,7 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link LastValueWithRetractAggFunction} with order. */
-    public abstract static class LastValueWithRetractAggFunctionWithOrderTestBase<T>
+    abstract static class LastValueWithRetractAggFunctionWithOrderTestBase<T>
             extends FirstLastValueAggFunctionWithOrderTestBase<
                     T, LastValueWithRetractAccumulator<T>> {
 
@@ -306,7 +313,7 @@ public final class LastValueWithRetractAggFunctionWithOrderTest {
     }
 
     /** Test base for {@link LastValueWithRetractAggFunction} with number types. */
-    public abstract static class NumberLastValueWithRetractAggFunctionWithOrderTestBase<T>
+    abstract static class NumberLastValueWithRetractAggFunctionWithOrderTestBase<T>
             extends LastValueWithRetractAggFunctionWithOrderTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunctionWithoutOrderTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunctionWithoutOrderTest.java
index f26060d31a1..6db40656b0c 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunctionWithoutOrderTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/LastValueWithRetractAggFunctionWithoutOrderTest.java
@@ -35,8 +35,7 @@ import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 import org.apache.flink.testutils.serialization.types.ShortType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.lang.reflect.Method;
 import java.util.Arrays;
@@ -46,8 +45,7 @@ import java.util.List;
  * Test case for built-in LAST_VALUE with retract aggregate function. This class tests `accumulate`
  * method without order argument.
  */
-@RunWith(Enclosed.class)
-public final class LastValueWithRetractAggFunctionWithoutOrderTest {
+final class LastValueWithRetractAggFunctionWithoutOrderTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -57,7 +55,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class ByteLastValueWithRetractAggFunctionWithoutOrderTest
             extends NumberLastValueWithRetractAggFunctionWithoutOrderTestBase<Byte> {
 
         @Override
@@ -72,7 +71,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link ShortType}. */
-    public static final class ShortLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class ShortLastValueWithRetractAggFunctionWithoutOrderTest
             extends NumberLastValueWithRetractAggFunctionWithoutOrderTestBase<Short> {
 
         @Override
@@ -87,7 +87,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class IntLastValueWithRetractAggFunctionWithoutOrderTest
             extends NumberLastValueWithRetractAggFunctionWithoutOrderTestBase<Integer> {
 
         @Override
@@ -103,7 +104,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class LongLastValueWithRetractAggFunctionWithoutOrderTest
             extends NumberLastValueWithRetractAggFunctionWithoutOrderTestBase<Long> {
 
         @Override
@@ -118,7 +120,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class FloatLastValueWithRetractAggFunctionWithoutOrderTest
             extends NumberLastValueWithRetractAggFunctionWithoutOrderTestBase<Float> {
 
         @Override
@@ -133,7 +136,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class DoubleLastValueWithRetractAggFunctionWithoutOrderTest
             extends NumberLastValueWithRetractAggFunctionWithoutOrderTestBase<Double> {
 
         @Override
@@ -149,7 +153,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class BooleanLastValueWithRetractAggFunctionWithoutOrderTest
             extends LastValueWithRetractAggFunctionWithoutOrderTestBase<Boolean> {
 
         @Override
@@ -175,7 +180,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class DecimalLastValueWithRetractAggFunctionWithoutOrderTest
             extends LastValueWithRetractAggFunctionWithoutOrderTestBase<DecimalData> {
 
         private int precision = 20;
@@ -215,7 +221,8 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringLastValueWithRetractAggFunctionWithoutOrderTest
+    @Nested
+    final class StringLastValueWithRetractAggFunctionWithoutOrderTest
             extends LastValueWithRetractAggFunctionWithoutOrderTestBase<StringData> {
 
         @Override
@@ -259,7 +266,7 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link LastValueWithRetractAggFunction} without order. */
-    public abstract static class LastValueWithRetractAggFunctionWithoutOrderTestBase<T>
+    abstract static class LastValueWithRetractAggFunctionWithoutOrderTestBase<T>
             extends AggFunctionTestBase<T, T, LastValueWithRetractAccumulator<T>> {
 
         @Override
@@ -274,7 +281,7 @@ public final class LastValueWithRetractAggFunctionWithoutOrderTest {
     }
 
     /** Test base for {@link LastValueWithRetractAggFunction} with number types. */
-    public abstract static class NumberLastValueWithRetractAggFunctionWithoutOrderTestBase<T>
+    abstract static class NumberLastValueWithRetractAggFunctionWithoutOrderTestBase<T>
             extends LastValueWithRetractAggFunctionWithoutOrderTestBase<T> {
 
         protected abstract T getValue(String v);
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWithRetractAggFunctionTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWithRetractAggFunctionTest.java
index 4d05d41a188..01c7d7bda51 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWithRetractAggFunctionTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWithRetractAggFunctionTest.java
@@ -28,7 +28,7 @@ import java.util.Arrays;
 import java.util.List;
 
 /** Test case for built-in LISTAGG with retraction aggregate function. */
-public final class ListAggWithRetractAggFunctionTest
+final class ListAggWithRetractAggFunctionTest
         extends AggFunctionTestBase<StringData, StringData, ListAggWithRetractAccumulator> {
 
     @Override
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWsWithRetractAggFunctionTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWsWithRetractAggFunctionTest.java
index d812b93bbcd..015a71d8324 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWsWithRetractAggFunctionTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/ListAggWsWithRetractAggFunctionTest.java
@@ -31,7 +31,7 @@ import java.util.Arrays;
 import java.util.List;
 
 /** Test case for built-in ListAggWs with retraction aggregate function. */
-public final class ListAggWsWithRetractAggFunctionTest
+final class ListAggWsWithRetractAggFunctionTest
         extends AggFunctionTestBase<StringData, StringData, ListAggWsWithRetractAccumulator> {
 
     @Override
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/MaxWithRetractAggFunctionTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/MaxWithRetractAggFunctionTest.java
index 05943e297f9..06527f6f0d9 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/MaxWithRetractAggFunctionTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/MaxWithRetractAggFunctionTest.java
@@ -41,16 +41,14 @@ import org.apache.flink.table.types.logical.TimestampType;
 import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.List;
 
 /** Test case for built-in Max with retraction aggregate function. */
-@RunWith(Enclosed.class)
-public final class MaxWithRetractAggFunctionTest {
+final class MaxWithRetractAggFunctionTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -60,7 +58,8 @@ public final class MaxWithRetractAggFunctionTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteMaxWithRetractAggFunctionTest
+    @Nested
+    final class ByteMaxWithRetractAggFunctionTest
             extends NumberMaxWithRetractAggFunctionTest<Byte> {
 
         @Override
@@ -85,7 +84,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link SmallIntType}. */
-    public static final class ShortMaxWithRetractAggFunctionTest
+    @Nested
+    final class ShortMaxWithRetractAggFunctionTest
             extends NumberMaxWithRetractAggFunctionTest<Short> {
 
         @Override
@@ -110,7 +110,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntMaxWithRetractAggFunctionTest
+    @Nested
+    final class IntMaxWithRetractAggFunctionTest
             extends NumberMaxWithRetractAggFunctionTest<Integer> {
 
         @Override
@@ -135,7 +136,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongMaxWithRetractAggFunctionTest
+    @Nested
+    final class LongMaxWithRetractAggFunctionTest
             extends NumberMaxWithRetractAggFunctionTest<Long> {
 
         @Override
@@ -160,7 +162,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatMaxWithRetractAggFunctionTest
+    @Nested
+    final class FloatMaxWithRetractAggFunctionTest
             extends NumberMaxWithRetractAggFunctionTest<Float> {
 
         @Override
@@ -185,7 +188,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleMaxWithRetractAggFunctionTest
+    @Nested
+    final class DoubleMaxWithRetractAggFunctionTest
             extends NumberMaxWithRetractAggFunctionTest<Double> {
 
         @Override
@@ -210,7 +214,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanMaxWithRetractAggFunctionTest
+    @Nested
+    final class BooleanMaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<Boolean> {
 
         @Override
@@ -235,7 +240,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalMaxWithRetractAggFunctionTest
+    @Nested
+    final class DecimalMaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<DecimalData> {
 
         private int precision = 20;
@@ -275,7 +281,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringMaxWithRetractAggFunctionTest
+    @Nested
+    final class StringMaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<StringData> {
 
         @Override
@@ -311,7 +318,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link TimestampType}. */
-    public static final class TimestampMaxWithRetractAggFunctionTest
+    @Nested
+    final class TimestampMaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -341,7 +349,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link TimestampType} with precision 9. */
-    public static final class Timestamp9MaxWithRetractAggFunctionTest
+    @Nested
+    final class Timestamp9MaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -377,7 +386,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link LocalZonedTimestampType}. */
-    public static final class LocalTimestampMaxWithRetractAggFunctionTest
+    @Nested
+    final class LocalTimestampMaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -407,7 +417,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link LocalZonedTimestampType} with precision 9. */
-    public static final class LocalTimestamp9MaxWithRetractAggFunctionTest
+    @Nested
+    final class LocalTimestamp9MaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -443,7 +454,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link DateType}. */
-    public static final class DateMaxWithRetractAggFunctionTest
+    @Nested
+    final class DateMaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<Integer> {
 
         @Override
@@ -466,7 +478,8 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test for {@link TimeType}. */
-    public static final class TimeMaxWithRetractAggFunctionTest
+    @Nested
+    final class TimeMaxWithRetractAggFunctionTest
             extends MaxWithRetractAggFunctionTestBase<Integer> {
 
         @Override
@@ -497,7 +510,7 @@ public final class MaxWithRetractAggFunctionTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link MaxWithRetractAggFunction}. */
-    public abstract static class MaxWithRetractAggFunctionTestBase<T>
+    abstract static class MaxWithRetractAggFunctionTestBase<T>
             extends AggFunctionTestBase<T, T, MaxWithRetractAccumulator<T>> {
 
         @Override
@@ -527,7 +540,7 @@ public final class MaxWithRetractAggFunctionTest {
     }
 
     /** Test base for {@link MaxWithRetractAggFunction} and numeric types. */
-    public abstract static class NumberMaxWithRetractAggFunctionTest<T>
+    abstract static class NumberMaxWithRetractAggFunctionTest<T>
             extends MaxWithRetractAggFunctionTestBase<T> {
         protected abstract T getMinValue();
 
diff --git a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/MinWithRetractAggFunctionTest.java b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/MinWithRetractAggFunctionTest.java
index 6f3d71a4ca2..3efb6f95b75 100644
--- a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/MinWithRetractAggFunctionTest.java
+++ b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/aggfunctions/MinWithRetractAggFunctionTest.java
@@ -41,16 +41,14 @@ import org.apache.flink.table.types.logical.TimestampType;
 import org.apache.flink.table.types.logical.TinyIntType;
 import org.apache.flink.table.types.logical.VarCharType;
 
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Nested;
 
 import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.List;
 
 /** Test case for built-in Min with retraction aggregate function. */
-@RunWith(Enclosed.class)
-public final class MinWithRetractAggFunctionTest {
+final class MinWithRetractAggFunctionTest {
 
     // --------------------------------------------------------------------------------------------
     // Test sets for a particular type being aggregated
@@ -60,7 +58,8 @@ public final class MinWithRetractAggFunctionTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test for {@link TinyIntType}. */
-    public static final class ByteMinWithRetractAggFunctionTest
+    @Nested
+    final class ByteMinWithRetractAggFunctionTest
             extends NumberMinWithRetractAggFunctionTestBase<Byte> {
 
         @Override
@@ -85,7 +84,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link SmallIntType}. */
-    public static final class ShortMinWithRetractAggFunctionTest
+    @Nested
+    final class ShortMinWithRetractAggFunctionTest
             extends NumberMinWithRetractAggFunctionTestBase<Short> {
 
         @Override
@@ -110,7 +110,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link IntType}. */
-    public static final class IntMinWithRetractAggFunctionTest
+    @Nested
+    final class IntMinWithRetractAggFunctionTest
             extends NumberMinWithRetractAggFunctionTestBase<Integer> {
 
         @Override
@@ -135,7 +136,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link BigIntType}. */
-    public static final class LongMinWithRetractAggFunctionTest
+    @Nested
+    final class LongMinWithRetractAggFunctionTest
             extends NumberMinWithRetractAggFunctionTestBase<Long> {
 
         @Override
@@ -160,7 +162,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link FloatType}. */
-    public static final class FloatMinWithRetractAggFunctionTest
+    @Nested
+    final class FloatMinWithRetractAggFunctionTest
             extends NumberMinWithRetractAggFunctionTestBase<Float> {
 
         @Override
@@ -185,7 +188,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link DoubleType}. */
-    public static final class DoubleMinWithRetractAggFunctionTest
+    @Nested
+    final class DoubleMinWithRetractAggFunctionTest
             extends NumberMinWithRetractAggFunctionTestBase<Double> {
 
         @Override
@@ -210,7 +214,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link BooleanType}. */
-    public static final class BooleanMinWithRetractAggFunctionTest
+    @Nested
+    final class BooleanMinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<Boolean> {
 
         @Override
@@ -235,7 +240,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link DecimalType}. */
-    public static final class DecimalMinWithRetractAggFunctionTest
+    @Nested
+    final class DecimalMinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<DecimalData> {
 
         private int precision = 20;
@@ -275,7 +281,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link VarCharType}. */
-    public static final class StringMinWithRetractAggFunctionTest
+    @Nested
+    final class StringMinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<StringData> {
 
         @Override
@@ -311,7 +318,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link TimestampType}. */
-    public static final class TimestampMinWithRetractAggFunctionTest
+    @Nested
+    final class TimestampMinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -341,7 +349,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link TimestampType} with precision 9. */
-    public static final class Timestamp9MinWithRetractAggFunctionTest
+    @Nested
+    final class Timestamp9MinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -375,7 +384,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link LocalZonedTimestampType}. */
-    public static final class LocalTimestampMinWithRetractAggFunctionTest
+    @Nested
+    final class LocalTimestampMinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -405,7 +415,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link LocalZonedTimestampType} with precision 9. */
-    public static final class LocalTimestamp9MinWithRetractAggFunctionTest
+    @Nested
+    final class LocalTimestamp9MinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<TimestampData> {
 
         @Override
@@ -439,7 +450,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link DateType}. */
-    public static final class DateMinWithRetractAggFunctionTest
+    @Nested
+    final class DateMinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<Integer> {
 
         @Override
@@ -462,7 +474,8 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test for {@link TimeType}. */
-    public static final class TimeMinWithRetractAggFunctionTest
+    @Nested
+    final class TimeMinWithRetractAggFunctionTest
             extends MinWithRetractAggFunctionTestBase<Integer> {
 
         @Override
@@ -493,7 +506,7 @@ public final class MinWithRetractAggFunctionTest {
     // --------------------------------------------------------------------------------------------
 
     /** Test base for {@link MinWithRetractAggFunction}. */
-    public abstract static class MinWithRetractAggFunctionTestBase<T>
+    abstract static class MinWithRetractAggFunctionTestBase<T>
             extends AggFunctionTestBase<T, T, MinWithRetractAccumulator<T>> {
 
         @Override
@@ -523,7 +536,7 @@ public final class MinWithRetractAggFunctionTest {
     }
 
     /** Test base for {@link MinWithRetractAggFunction} and numeric types. */
-    public abstract static class NumberMinWithRetractAggFunctionTestBase<T>
+    abstract static class NumberMinWithRetractAggFunctionTestBase<T>
             extends MinWithRetractAggFunctionTestBase<T> {
         protected abstract T getMinValue();