You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2022/05/20 08:07:41 UTC
[flink] branch master updated: [FLINK-27672][tests][table] Migrate flink-table-common to JUnit5
This is an automated email from the ASF dual-hosted git repository.
chesnay 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 f1b4742b87d [FLINK-27672][tests][table] Migrate flink-table-common to JUnit5
f1b4742b87d is described below
commit f1b4742b87de6175289539ca3c83c4e33ba4e825
Author: Sergey Nuyanzin <sn...@gmail.com>
AuthorDate: Fri May 20 10:07:34 2022 +0200
[FLINK-27672][tests][table] Migrate flink-table-common to JUnit5
---
flink-table/flink-table-common/pom.xml | 6 +
.../apache/flink/table/api/TableSchemaTest.java | 42 ++--
.../api/constraints/UniqueConstraintTest.java | 6 +-
.../data/columnar/vector/ColumnVectorTest.java | 26 +-
.../columnar/vector/VectorizedColumnBatchTest.java | 10 +-
.../flink/table/data/utils/JoinedRowDataTest.java | 8 +-
.../table/data/utils/ProjectedRowDataTest.java | 6 +-
.../descriptors/DescriptorPropertiesTest.java | 49 ++--
.../table/descriptors/DescriptorTestBase.java | 85 -------
.../flink/table/expressions/ExpressionTest.java | 34 +--
.../flink/table/factories/FactoryUtilTest.java | 58 ++---
.../factories/TableSinkFactoryServiceTest.java | 18 +-
.../factories/module/CoreModuleFactoryTest.java | 6 +-
.../functions/UserDefinedFunctionHelperTest.java | 10 +-
.../apache/flink/table/module/CoreModuleTest.java | 12 +-
.../flink/table/plan/stats/TableStatsTest.java | 12 +-
.../flink/table/sources/TableSourceTestBase.java | 2 +-
.../apache/flink/table/test/LogicalTypeAssert.java | 2 +-
.../table/types/ClassDataTypeConverterTest.java | 86 +++----
.../org/apache/flink/table/types/DataTypeTest.java | 36 +--
.../apache/flink/table/types/DataTypesTest.java | 43 ++--
.../types/LegacyTypeInfoDataTypeConverterTest.java | 101 +++-----
.../flink/table/types/LogicalCommonTypeTest.java | 268 +++++++++------------
.../table/types/LogicalTypeCastAvoidanceTest.java | 204 +++++++---------
.../flink/table/types/LogicalTypeCastsTest.java | 2 +-
.../table/types/LogicalTypeDuplicatorTest.java | 53 ++--
.../flink/table/types/LogicalTypeParserTest.java | 32 ++-
.../apache/flink/table/types/LogicalTypesTest.java | 76 +++---
.../table/types/TypeInfoDataTypeConverterTest.java | 25 +-
.../table/types/ValueDataTypeConverterTest.java | 121 ++++------
.../types/extraction/DataTypeExtractorTest.java | 23 +-
.../extraction/TypeInferenceExtractorTest.java | 50 ++--
.../inference/ComparableInputTypeStrategyTest.java | 12 +-
.../types/inference/InputTypeStrategiesTest.java | 13 +-
.../inference/InputTypeStrategiesTestBase.java | 37 +--
.../types/inference/MappingTypeStrategiesTest.java | 13 +-
.../SubsequenceInputTypeStrategyTest.java | 14 +-
.../table/types/inference/TypeStrategiesTest.java | 13 +-
.../types/inference/TypeStrategiesTestBase.java | 26 +-
.../types/inference/TypeTransformationsTest.java | 12 +-
.../strategies/ArrayTypeStrategyTest.java | 13 +-
.../CurrentWatermarkInputTypeStrategyTest.java | 14 +-
.../CurrentWatermarkTypeStrategyTest.java | 13 +-
.../strategies/DecimalTypeStrategyTest.java | 13 +-
.../inference/strategies/GetTypeStrategyTest.java | 13 +-
.../inference/strategies/MapTypeStrategyTest.java | 13 +-
.../RepeatingSequenceInputTypeStrategyTest.java | 13 +-
.../inference/strategies/RowTypeStrategyTest.java | 13 +-
.../strategies/StringConcatTypeStrategyTest.java | 13 +-
.../strategies/SymbolArgumentTypeStrategyTest.java | 13 +-
.../TypeLiteralArgumentTypeStrategyTest.java | 13 +-
.../types/logical/utils/LogicalTypeChecksTest.java | 22 +-
.../logical/utils/LogicalTypeMergingTest.java | 16 +-
.../flink/table/types/utils/DataTypeUtilsTest.java | 29 +--
.../flink/table/utils/EncodingUtilsTest.java | 14 +-
.../flink/table/utils/PartitionPathUtilsTest.java | 16 +-
.../flink/table/utils/TableSchemaUtilsTest.java | 8 +-
.../flink/table/utils/TypeMappingUtilsTest.java | 36 +--
.../flink/table/utils/TypeStringUtilsTest.java | 31 ++-
.../flink/table/utils/print/TableauStyleTest.java | 20 +-
.../org.junit.jupiter.api.extension.Extension | 16 ++
61 files changed, 879 insertions(+), 1125 deletions(-)
diff --git a/flink-table/flink-table-common/pom.xml b/flink-table/flink-table-common/pom.xml
index 8da7075f752..5c8f2741b0c 100644
--- a/flink-table/flink-table-common/pom.xml
+++ b/flink-table/flink-table-common/pom.xml
@@ -85,6 +85,12 @@ under the License.
<goals>
<goal>test-jar</goal>
</goals>
+ <configuration>
+ <excludes>
+ <!-- test-jar is still used by JUnit4 modules -->
+ <exclude>META-INF/services/org.junit.jupiter.api.extension.Extension</exclude>
+ </excludes>
+ </configuration>
</execution>
</executions>
</plugin>
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/api/TableSchemaTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/api/TableSchemaTest.java
index cbed7e13f26..ab4014f3a6a 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/api/TableSchemaTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/api/TableSchemaTest.java
@@ -23,7 +23,7 @@ import org.apache.flink.api.java.tuple.Tuple3;
import org.apache.flink.table.api.constraints.UniqueConstraint;
import org.apache.flink.table.types.DataType;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
@@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link TableSchema}. */
-public class TableSchemaTest {
+class TableSchemaTest {
private static final String WATERMARK_EXPRESSION = "localtimestamp";
private static final String WATERMARK_EXPRESSION_TS_LTZ = "now()";
@@ -42,7 +42,7 @@ public class TableSchemaTest {
private static final DataType WATERMARK_TS_LTZ_DATATYPE = DataTypes.TIMESTAMP_LTZ(3);
@Test
- public void testTableSchema() {
+ void testTableSchema() {
TableSchema schema =
TableSchema.builder()
.add(TableColumn.physical("f0", DataTypes.BIGINT()))
@@ -89,7 +89,7 @@ public class TableSchemaTest {
}
@Test
- public void testWatermarkOnTimestampLtz() {
+ void testWatermarkOnTimestampLtz() {
TableSchema tableSchema =
TableSchema.builder()
.field("f0", DataTypes.TIMESTAMP())
@@ -111,7 +111,7 @@ public class TableSchemaTest {
}
@Test
- public void testPersistedRowDataType() {
+ void testPersistedRowDataType() {
final TableSchema schema =
TableSchema.builder()
.add(TableColumn.physical("f0", DataTypes.BIGINT()))
@@ -134,7 +134,7 @@ public class TableSchemaTest {
}
@Test
- public void testPhysicalRowDataType() {
+ void testPhysicalRowDataType() {
final TableSchema schema =
TableSchema.builder()
.add(TableColumn.physical("f0", DataTypes.BIGINT()))
@@ -155,7 +155,7 @@ public class TableSchemaTest {
}
@Test
- public void testRowDataType() {
+ void testRowDataType() {
final TableSchema schema =
TableSchema.builder()
.add(TableColumn.physical("f0", DataTypes.BIGINT()))
@@ -180,7 +180,7 @@ public class TableSchemaTest {
}
@Test
- public void testWatermarkOnDifferentFields() {
+ void testWatermarkOnDifferentFields() {
// column_name, column_type, exception_msg
List<Tuple3<String, DataType, String>> testData = new ArrayList<>();
testData.add(Tuple3.of("a", DataTypes.BIGINT(), "but is of type 'BIGINT'"));
@@ -215,7 +215,7 @@ public class TableSchemaTest {
}
@Test
- public void testWatermarkOnNestedField() {
+ void testWatermarkOnNestedField() {
TableSchema schema =
TableSchema.builder()
.field("f0", DataTypes.BIGINT())
@@ -239,7 +239,7 @@ public class TableSchemaTest {
}
@Test
- public void testWatermarkOnNonExistedField() {
+ void testWatermarkOnNonExistedField() {
assertThatThrownBy(
() ->
TableSchema.builder()
@@ -258,7 +258,7 @@ public class TableSchemaTest {
}
@Test
- public void testMultipleWatermarks() {
+ void testMultipleWatermarks() {
assertThatThrownBy(
() ->
TableSchema.builder()
@@ -278,7 +278,7 @@ public class TableSchemaTest {
}
@Test
- public void testDifferentWatermarkStrategyOutputTypes() {
+ void testDifferentWatermarkStrategyOutputTypes() {
List<Tuple2<DataType, String>> testData = new ArrayList<>();
testData.add(Tuple2.of(DataTypes.BIGINT(), "but is of type 'BIGINT'"));
testData.add(Tuple2.of(DataTypes.STRING(), "but is of type 'STRING'"));
@@ -313,7 +313,7 @@ public class TableSchemaTest {
CONSTRAINTS TESTS
*/
@Test
- public void testPrimaryKeyPrinting() {
+ void testPrimaryKeyPrinting() {
TableSchema schema =
TableSchema.builder()
.field("f0", DataTypes.BIGINT().notNull())
@@ -332,7 +332,7 @@ public class TableSchemaTest {
}
@Test
- public void testPrimaryKeyColumnsIndices() {
+ void testPrimaryKeyColumnsIndices() {
TableSchema schema =
TableSchema.builder()
.field("f0", DataTypes.BIGINT().notNull())
@@ -347,7 +347,7 @@ public class TableSchemaTest {
}
@Test
- public void testPrimaryKeyLazilyDefinedColumns() {
+ void testPrimaryKeyLazilyDefinedColumns() {
TableSchema schema =
TableSchema.builder()
.field("f0", DataTypes.BIGINT().notNull())
@@ -362,7 +362,7 @@ public class TableSchemaTest {
}
@Test
- public void testPrimaryKeyNoColumn() {
+ void testPrimaryKeyNoColumn() {
assertThatThrownBy(
() ->
TableSchema.builder()
@@ -374,7 +374,7 @@ public class TableSchemaTest {
}
@Test
- public void testPrimaryKeyNullableColumn() {
+ void testPrimaryKeyNullableColumn() {
assertThatThrownBy(
() ->
TableSchema.builder()
@@ -386,7 +386,7 @@ public class TableSchemaTest {
}
@Test
- public void testPrimaryKeyGeneratedColumn() {
+ void testPrimaryKeyGeneratedColumn() {
assertThatThrownBy(
() ->
TableSchema.builder()
@@ -399,7 +399,7 @@ public class TableSchemaTest {
}
@Test
- public void testPrimaryKeyNameMustNotBeNull() {
+ void testPrimaryKeyNameMustNotBeNull() {
assertThatThrownBy(
() ->
TableSchema.builder()
@@ -411,7 +411,7 @@ public class TableSchemaTest {
}
@Test
- public void testPrimaryKeyNameMustNotBeEmpty() {
+ void testPrimaryKeyNameMustNotBeEmpty() {
assertThatThrownBy(
() ->
TableSchema.builder()
@@ -423,7 +423,7 @@ public class TableSchemaTest {
}
@Test
- public void testPrimaryKeyNoColumns() {
+ void testPrimaryKeyNoColumns() {
assertThatThrownBy(
() ->
TableSchema.builder()
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/api/constraints/UniqueConstraintTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/api/constraints/UniqueConstraintTest.java
index d0892cbba15..e2994123e27 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/api/constraints/UniqueConstraintTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/api/constraints/UniqueConstraintTest.java
@@ -18,7 +18,7 @@
package org.apache.flink.table.api.constraints;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.Collections;
import java.util.List;
@@ -26,10 +26,10 @@ import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link UniqueConstraint}. */
-public class UniqueConstraintTest {
+class UniqueConstraintTest {
@Test
- public void testCreatingPrimaryKey() {
+ void testCreatingPrimaryKey() {
String keyName = "pk";
List<String> columns = Collections.singletonList("f0");
UniqueConstraint primaryKey = UniqueConstraint.primaryKey(keyName, columns);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/columnar/vector/ColumnVectorTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/columnar/vector/ColumnVectorTest.java
index 42fd1fc5bb3..9d68e2b5911 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/columnar/vector/ColumnVectorTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/columnar/vector/ColumnVectorTest.java
@@ -30,7 +30,7 @@ import org.apache.flink.table.data.columnar.vector.heap.HeapShortVector;
import org.apache.flink.table.data.columnar.vector.heap.HeapTimestampVector;
import org.apache.flink.table.data.columnar.vector.writable.WritableColumnVector;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets;
import java.util.stream.IntStream;
@@ -45,12 +45,12 @@ import static org.apache.flink.table.data.columnar.vector.heap.AbstractHeapVecto
import static org.assertj.core.api.Assertions.assertThat;
/** Test {@link ColumnVector}. */
-public class ColumnVectorTest {
+class ColumnVectorTest {
private static final int SIZE = 10;
@Test
- public void testNulls() {
+ void testNulls() {
HeapBooleanVector vector = new HeapBooleanVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -83,7 +83,7 @@ public class ColumnVectorTest {
}
@Test
- public void testBoolean() {
+ void testBoolean() {
HeapBooleanVector vector = new HeapBooleanVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -100,7 +100,7 @@ public class ColumnVectorTest {
}
@Test
- public void testByte() {
+ void testByte() {
HeapByteVector vector = new HeapByteVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -123,7 +123,7 @@ public class ColumnVectorTest {
}
@Test
- public void testShort() {
+ void testShort() {
HeapShortVector vector = new HeapShortVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -146,7 +146,7 @@ public class ColumnVectorTest {
}
@Test
- public void testInt() {
+ void testInt() {
HeapIntVector vector = new HeapIntVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -184,7 +184,7 @@ public class ColumnVectorTest {
}
@Test
- public void testLong() {
+ void testLong() {
HeapLongVector vector = new HeapLongVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -216,7 +216,7 @@ public class ColumnVectorTest {
}
@Test
- public void testFloat() {
+ void testFloat() {
HeapFloatVector vector = new HeapFloatVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -253,7 +253,7 @@ public class ColumnVectorTest {
}
@Test
- public void testDouble() {
+ void testDouble() {
HeapDoubleVector vector = new HeapDoubleVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -292,7 +292,7 @@ public class ColumnVectorTest {
}
@Test
- public void testBytes() {
+ void testBytes() {
HeapBytesVector vector = new HeapBytesVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -326,7 +326,7 @@ public class ColumnVectorTest {
}
@Test
- public void testTimestamp() {
+ void testTimestamp() {
HeapTimestampVector vector = new HeapTimestampVector(SIZE);
for (int i = 0; i < SIZE; i++) {
@@ -353,7 +353,7 @@ public class ColumnVectorTest {
}
@Test
- public void testReserveDictIds() {
+ void testReserveDictIds() {
HeapIntVector vector = new HeapIntVector(SIZE);
assertThat(vector.reserveDictionaryIds(2).vector.length).isGreaterThanOrEqualTo(2);
assertThat(vector.reserveDictionaryIds(5).vector.length).isGreaterThanOrEqualTo(5);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/columnar/vector/VectorizedColumnBatchTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/columnar/vector/VectorizedColumnBatchTest.java
index 81a0ba55145..55725c978ab 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/columnar/vector/VectorizedColumnBatchTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/columnar/vector/VectorizedColumnBatchTest.java
@@ -33,7 +33,7 @@ import org.apache.flink.table.data.columnar.vector.heap.HeapLongVector;
import org.apache.flink.table.data.columnar.vector.heap.HeapShortVector;
import org.apache.flink.table.utils.DateTimeUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -42,13 +42,13 @@ import java.nio.charset.StandardCharsets;
import static org.assertj.core.api.Assertions.assertThat;
/** Test {@link VectorizedColumnBatch}. */
-public class VectorizedColumnBatchTest {
+class VectorizedColumnBatchTest {
private static final int VECTOR_SIZE = 1024;
private static final int ARRAY_SIZE = 3;
@Test
- public void testTyped() throws IOException {
+ void testTyped() throws IOException {
HeapBooleanVector col0 = new HeapBooleanVector(VECTOR_SIZE);
for (int i = 0; i < VECTOR_SIZE; i++) {
col0.vector[i] = i % 2 == 0;
@@ -256,7 +256,7 @@ public class VectorizedColumnBatchTest {
}
@Test
- public void testNull() {
+ void testNull() {
// all null
HeapIntVector col0 = new HeapIntVector(VECTOR_SIZE);
for (int i = 0; i < VECTOR_SIZE; i++) {
@@ -287,7 +287,7 @@ public class VectorizedColumnBatchTest {
}
@Test
- public void testDictionary() {
+ void testDictionary() {
// all null
HeapIntVector col = new HeapIntVector(VECTOR_SIZE);
Integer[] dict = new Integer[2];
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/utils/JoinedRowDataTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/utils/JoinedRowDataTest.java
index e9b156e38d3..820ea8de346 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/utils/JoinedRowDataTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/utils/JoinedRowDataTest.java
@@ -28,10 +28,10 @@ import org.junit.jupiter.api.Test;
import static org.apache.flink.table.test.TableAssertions.assertThat;
/** Tests for {@link JoinedRowData}. */
-public class JoinedRowDataTest {
+class JoinedRowDataTest {
@Test
- public void testJoinedRows() {
+ void testJoinedRows() {
final RowData row1 = GenericRowData.of(1L, 2L);
final RowData row2 = GenericRowData.of(3L, StringData.fromString("4"));
final RowData joinedRow = new JoinedRowData(row1, row2);
@@ -44,14 +44,14 @@ public class JoinedRowDataTest {
}
@Test
- public void testJoinedRowKind() {
+ void testJoinedRowKind() {
final RowData joinedRow =
new JoinedRowData(RowKind.DELETE, GenericRowData.of(), GenericRowData.of());
assertThat(joinedRow).hasKind(RowKind.DELETE);
}
@Test
- public void testReplace() {
+ void testReplace() {
final RowData row1 = GenericRowData.of(1L);
final RowData row2 = GenericRowData.of(2L);
final JoinedRowData joinedRow = new JoinedRowData(row1, row2);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/utils/ProjectedRowDataTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/utils/ProjectedRowDataTest.java
index 30601e8d230..42f4a5b0637 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/utils/ProjectedRowDataTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/data/utils/ProjectedRowDataTest.java
@@ -29,10 +29,10 @@ import static org.apache.flink.table.test.TableAssertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link ProjectedRowData}. */
-public class ProjectedRowDataTest {
+class ProjectedRowDataTest {
@Test
- public void testProjectedRows() {
+ void testProjectedRows() {
final RowData initialRow = GenericRowData.of(0L, 1L, 2L, 3L, 4L);
final ProjectedRowData projectedRowData =
ProjectedRowData.from(
@@ -55,7 +55,7 @@ public class ProjectedRowDataTest {
}
@Test
- public void testProjectedRowsDoesntSupportNestedProjections() {
+ void testProjectedRowsDoesntSupportNestedProjections() {
assertThatThrownBy(
() ->
ProjectedRowData.from(
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/descriptors/DescriptorPropertiesTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/descriptors/DescriptorPropertiesTest.java
index 19a1c4187ae..942691c3d55 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/descriptors/DescriptorPropertiesTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/descriptors/DescriptorPropertiesTest.java
@@ -25,7 +25,7 @@ import org.apache.flink.table.api.TableSchema;
import org.apache.flink.table.api.ValidationException;
import org.apache.flink.table.types.LogicalTypeParserTest;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
@@ -36,9 +36,10 @@ import java.util.Map;
import java.util.function.Consumer;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link DescriptorProperties}. */
-public class DescriptorPropertiesTest {
+class DescriptorPropertiesTest {
private static final String ARRAY_KEY = "my-array";
private static final String FIXED_INDEXED_PROPERTY_KEY = "my-fixed-indexed-property";
@@ -46,7 +47,7 @@ public class DescriptorPropertiesTest {
private static final String PROPERTY_2_KEY = "property-2";
@Test
- public void testEquals() {
+ void testEquals() {
DescriptorProperties properties1 = new DescriptorProperties();
properties1.putString("hello1", "12");
properties1.putString("hello2", "13");
@@ -68,14 +69,14 @@ public class DescriptorPropertiesTest {
}
@Test
- public void testMissingArray() {
+ void testMissingArray() {
DescriptorProperties properties = new DescriptorProperties();
testArrayValidation(properties, 0, Integer.MAX_VALUE);
}
@Test
- public void testArrayValues() {
+ void testArrayValues() {
DescriptorProperties properties = new DescriptorProperties();
properties.putString(ARRAY_KEY + ".0", "12");
@@ -89,7 +90,7 @@ public class DescriptorPropertiesTest {
}
@Test
- public void testArraySingleValue() {
+ void testArraySingleValue() {
DescriptorProperties properties = new DescriptorProperties();
properties.putString(ARRAY_KEY, "12");
@@ -99,44 +100,48 @@ public class DescriptorPropertiesTest {
.isEqualTo(Collections.singletonList(12));
}
- @Test(expected = ValidationException.class)
- public void testArrayInvalidValues() {
+ @Test
+ void testArrayInvalidValues() {
DescriptorProperties properties = new DescriptorProperties();
properties.putString(ARRAY_KEY + ".0", "12");
properties.putString(ARRAY_KEY + ".1", "66");
properties.putString(ARRAY_KEY + ".2", "INVALID");
- testArrayValidation(properties, 1, Integer.MAX_VALUE);
+ assertThatThrownBy(() -> testArrayValidation(properties, 1, Integer.MAX_VALUE))
+ .isInstanceOf(ValidationException.class);
}
- @Test(expected = ValidationException.class)
- public void testArrayInvalidSingleValue() {
+ @Test
+ void testArrayInvalidSingleValue() {
DescriptorProperties properties = new DescriptorProperties();
properties.putString(ARRAY_KEY, "INVALID");
- testArrayValidation(properties, 1, Integer.MAX_VALUE);
+ assertThatThrownBy(() -> testArrayValidation(properties, 1, Integer.MAX_VALUE))
+ .isInstanceOf(ValidationException.class);
}
- @Test(expected = ValidationException.class)
- public void testInvalidMissingArray() {
+ @Test
+ void testInvalidMissingArray() {
DescriptorProperties properties = new DescriptorProperties();
- testArrayValidation(properties, 1, Integer.MAX_VALUE);
+ assertThatThrownBy(() -> testArrayValidation(properties, 1, Integer.MAX_VALUE))
+ .isInstanceOf(ValidationException.class);
}
- @Test(expected = ValidationException.class)
- public void testInvalidFixedIndexedProperties() {
+ @Test
+ void testInvalidFixedIndexedProperties() {
DescriptorProperties property = new DescriptorProperties();
List<List<String>> list = new ArrayList<>();
list.add(Arrays.asList("1", "string"));
list.add(Arrays.asList("INVALID", "string"));
property.putIndexedFixedProperties(
FIXED_INDEXED_PROPERTY_KEY, Arrays.asList(PROPERTY_1_KEY, PROPERTY_2_KEY), list);
- testFixedIndexedPropertiesValidation(property);
+ assertThatThrownBy(() -> testFixedIndexedPropertiesValidation(property))
+ .isInstanceOf(ValidationException.class);
}
@Test
- public void testRemoveKeys() {
+ void testRemoveKeys() {
DescriptorProperties properties = new DescriptorProperties();
properties.putString("hello1", "12");
properties.putString("hello2", "13");
@@ -151,7 +156,7 @@ public class DescriptorPropertiesTest {
}
@Test
- public void testPrefixedMap() {
+ void testPrefixedMap() {
DescriptorProperties properties = new DescriptorProperties();
properties.putString("hello1", "12");
properties.putString("hello2", "13");
@@ -168,7 +173,7 @@ public class DescriptorPropertiesTest {
}
@Test
- public void testTableSchema() {
+ void testTableSchema() {
TableSchema schema =
TableSchema.builder()
.add(TableColumn.physical("f0", DataTypes.BIGINT().notNull()))
@@ -245,7 +250,7 @@ public class DescriptorPropertiesTest {
}
@Test
- public void testLegacyTableSchema() {
+ void testLegacyTableSchema() {
DescriptorProperties properties = new DescriptorProperties();
Map<String, String> map = new HashMap<>();
map.put("schema.0.name", "f0");
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/descriptors/DescriptorTestBase.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/descriptors/DescriptorTestBase.java
deleted file mode 100644
index d12c9cefde3..00000000000
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/descriptors/DescriptorTestBase.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flink.table.descriptors;
-
-import org.apache.flink.util.Preconditions;
-
-import org.junit.Test;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/** Test base for testing {@link Descriptor} together with {@link DescriptorValidator}. */
-public abstract class DescriptorTestBase {
-
- /** Returns a set of valid descriptors. */
- protected abstract List<Descriptor> descriptors();
-
- /** Returns a set of properties for each valid descriptor. */
- protected abstract List<Map<String, String>> properties();
-
- /** Returns a validator that can validate all valid descriptors. */
- protected abstract DescriptorValidator validator();
-
- @Test
- public void testValidation() {
- final List<Descriptor> descriptors = descriptors();
- if (descriptors.isEmpty()) {
- return;
- }
-
- final List<Map<String, String>> properties = properties();
-
- Preconditions.checkArgument(descriptors.size() == properties.size());
-
- for (int i = 0; i < descriptors.size(); i++) {
- verifyProperties(descriptors.get(i), properties.get(i));
- }
- }
-
- protected void verifyProperties(Descriptor descriptor, Map<String, String> expected) {
- // test produced properties
- assertThat(descriptor.toProperties()).isEqualTo(expected);
-
- // test validation logic
- final DescriptorProperties properties = new DescriptorProperties();
- properties.putProperties(expected);
- validator().validate(properties);
- }
-
- protected void addPropertyAndVerify(Descriptor descriptor, String property, String newValue) {
- final DescriptorProperties properties = new DescriptorProperties();
- properties.putProperties(descriptor.toProperties());
- final DescriptorProperties copy =
- properties.withoutKeys(Collections.singletonList(property));
- copy.putString(property, newValue);
- validator().validate(copy);
- }
-
- protected void removePropertyAndVerify(Descriptor descriptor, String property) {
- final DescriptorProperties properties = new DescriptorProperties();
- properties.putProperties(descriptor.toProperties());
- final DescriptorProperties copy =
- properties.withoutKeys(Collections.singletonList(property));
- validator().validate(copy);
- }
-}
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/expressions/ExpressionTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/expressions/ExpressionTest.java
index 01d5aa9213c..e677269902f 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/expressions/ExpressionTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/expressions/ExpressionTest.java
@@ -23,7 +23,7 @@ import org.apache.flink.table.api.ValidationException;
import org.apache.flink.table.functions.ScalarFunction;
import org.apache.flink.table.functions.ScalarFunctionDefinition;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
@@ -51,7 +51,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link org.apache.flink.table.expressions.Expression} and its sub-classes. */
-public class ExpressionTest {
+class ExpressionTest {
private static final ScalarFunction DUMMY_FUNCTION = new ScalarFunction() {
// dummy
@@ -66,17 +66,17 @@ public class ExpressionTest {
private static final String TREE_WITH_NULL_STRING = "and(true, equals(field, dummy(null)))";
@Test
- public void testExpressionString() {
+ void testExpressionString() {
assertThat(TREE_WITH_NULL.toString()).isEqualTo(TREE_WITH_NULL_STRING);
}
@Test
- public void testExpressionEquality() {
+ void testExpressionEquality() {
assertThat(TREE_WITH_SAME_VALUE).isEqualTo(TREE_WITH_VALUE);
}
@Test
- public void testArrayValueLiteralEquality() {
+ void testArrayValueLiteralEquality() {
assertThat(new ValueLiteralExpression(new Integer[][] {null, null, {1, 2, 3}}))
.isEqualTo(new ValueLiteralExpression(new Integer[][] {null, null, {1, 2, 3}}));
@@ -94,12 +94,12 @@ public class ExpressionTest {
}
@Test
- public void testExpressionInequality() {
+ void testExpressionInequality() {
assertThat(TREE_WITH_VALUE).isNotEqualTo(TREE_WITH_NULL);
}
@Test
- public void testValueLiteralString() {
+ void testValueLiteralString() {
assertThat(new ValueLiteralExpression(new Integer[][] {null, null, {1, 2, 3}}).toString())
.isEqualTo("[null, null, [1, 2, 3]]");
@@ -130,7 +130,7 @@ public class ExpressionTest {
}
@Test
- public void testInvalidValueLiteral() {
+ void testInvalidValueLiteral() {
assertThatThrownBy(() -> new ValueLiteralExpression(12, DataTypes.TINYINT().notNull()))
.isInstanceOf(ValidationException.class)
.hasMessageContaining(
@@ -138,14 +138,14 @@ public class ExpressionTest {
}
@Test
- public void testInvalidValueLiteralExtraction() {
+ void testInvalidValueLiteralExtraction() {
assertThatThrownBy(() -> new ValueLiteralExpression(this))
.isInstanceOf(ValidationException.class)
.hasMessageContaining("Cannot derive a data type");
}
@Test
- public void testBigDecimalValueLiteralExtraction() {
+ void testBigDecimalValueLiteralExtraction() {
final float f = 2.44444444443f;
assertThat(
new ValueLiteralExpression(f)
@@ -156,7 +156,7 @@ public class ExpressionTest {
}
@Test
- public void testLocalDateTimeValueLiteralExtraction() {
+ void testLocalDateTimeValueLiteralExtraction() {
final Timestamp sqlTimestamp = Timestamp.valueOf("2006-11-03 00:00:00.123456789");
final LocalDateTime localDateTime = LocalDateTime.of(2006, 11, 3, 0, 0, 0, 123456789);
@@ -168,7 +168,7 @@ public class ExpressionTest {
}
@Test
- public void testLocalTimeValueLiteralExtraction() {
+ void testLocalTimeValueLiteralExtraction() {
final LocalTime localTime = LocalTime.of(12, 12, 12, 123456789);
final long nanos = localTime.toNanoOfDay();
@@ -197,7 +197,7 @@ public class ExpressionTest {
}
@Test
- public void testLocalDateValueLiteralExtraction() {
+ void testLocalDateValueLiteralExtraction() {
final LocalDate localDate = LocalDate.of(2012, 12, 12);
final int daysSinceEpoch = (int) localDate.toEpochDay();
@@ -218,7 +218,7 @@ public class ExpressionTest {
}
@Test
- public void testInstantValueLiteralExtraction() {
+ void testInstantValueLiteralExtraction() {
final Instant instant = Instant.ofEpochMilli(100);
final long millis = instant.toEpochMilli();
@@ -239,7 +239,7 @@ public class ExpressionTest {
}
@Test
- public void testOffsetDateTimeValueLiteralExtraction() {
+ void testOffsetDateTimeValueLiteralExtraction() {
final OffsetDateTime offsetDateTime =
OffsetDateTime.of(
LocalDateTime.parse("2012-12-12T12:12:12"),
@@ -257,7 +257,7 @@ public class ExpressionTest {
}
@Test
- public void testSymbolValueLiteralExtraction() {
+ void testSymbolValueLiteralExtraction() {
final TimeIntervalUnit intervalUnit = TimeIntervalUnit.DAY_TO_MINUTE;
assertThat(
@@ -268,7 +268,7 @@ public class ExpressionTest {
}
@Test
- public void testPeriodValueLiteralExtraction() {
+ void testPeriodValueLiteralExtraction() {
Integer periodInInt = 10;
final Period expected = Period.ofMonths(10);
assertThat(
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/FactoryUtilTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/FactoryUtilTest.java
index 3f3d5cc6107..45ef9bda2ec 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/FactoryUtilTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/FactoryUtilTest.java
@@ -57,10 +57,10 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link FactoryUtil}. */
-public class FactoryUtilTest {
+class FactoryUtilTest {
@Test
- public void testManagedConnector() {
+ void testManagedConnector() {
final Map<String, String> options = createAllOptions();
options.remove("connector");
final DynamicTableSource actualSource = createTableSource(SCHEMA, options);
@@ -68,7 +68,7 @@ public class FactoryUtilTest {
}
@Test
- public void testInvalidConnector() {
+ void testInvalidConnector() {
assertCreateTableSourceWithOptionModifier(
options -> options.put("connector", "FAIL"),
"Could not find any factory for identifier 'FAIL' that implements '"
@@ -79,7 +79,7 @@ public class FactoryUtilTest {
}
@Test
- public void testConflictingConnector() {
+ void testConflictingConnector() {
assertCreateTableSourceWithOptionModifier(
options -> options.put("connector", TestConflictingDynamicTableFactory1.IDENTIFIER),
"Multiple factories for identifier 'conflicting' that implement '"
@@ -94,7 +94,7 @@ public class FactoryUtilTest {
}
@Test
- public void testMissingConnectorOption() {
+ void testMissingConnectorOption() {
assertCreateTableSourceWithOptionModifier(
options -> options.remove("target"),
"One or more required options are missing.\n\n"
@@ -103,21 +103,21 @@ public class FactoryUtilTest {
}
@Test
- public void testInvalidConnectorOption() {
+ void testInvalidConnectorOption() {
assertCreateTableSourceWithOptionModifier(
options -> options.put("buffer-size", "FAIL"),
"Invalid value for option 'buffer-size'.");
}
@Test
- public void testMissingFormat() {
+ void testMissingFormat() {
assertCreateTableSourceWithOptionModifier(
options -> options.remove("value.format"),
"Could not find required scan format 'value.format'.");
}
@Test
- public void testInvalidFormat() {
+ void testInvalidFormat() {
assertCreateTableSourceWithOptionModifier(
options -> options.put("value.format", "FAIL"),
"Could not find any factory for identifier 'FAIL' that implements '"
@@ -128,7 +128,7 @@ public class FactoryUtilTest {
}
@Test
- public void testMissingFormatOption() {
+ void testMissingFormatOption() {
assertCreateTableSourceWithOptionModifier(
options -> options.remove("key.test-format.delimiter"),
"One or more required options are missing.\n\n"
@@ -138,14 +138,14 @@ public class FactoryUtilTest {
}
@Test
- public void testInvalidFormatOption() {
+ void testInvalidFormatOption() {
assertCreateTableSourceWithOptionModifier(
options -> options.put("key.test-format.fail-on-missing", "FAIL"),
"Invalid value for option 'fail-on-missing'.");
}
@Test
- public void testSecretOption() {
+ void testSecretOption() {
assertCreateTableSourceWithOptionModifier(
options -> {
options.remove("target");
@@ -165,7 +165,7 @@ public class FactoryUtilTest {
}
@Test
- public void testUnconsumedOption() {
+ void testUnconsumedOption() {
assertCreateTableSourceWithOptionModifier(
options -> {
options.put("this-is-not-consumed", "42");
@@ -201,7 +201,7 @@ public class FactoryUtilTest {
}
@Test
- public void testAllOptions() {
+ void testAllOptions() {
final Map<String, String> options = createAllOptions();
final DynamicTableSource actualSource = createTableSource(SCHEMA, options);
final DynamicTableSource expectedSource =
@@ -222,7 +222,7 @@ public class FactoryUtilTest {
}
@Test
- public void testDiscoveryForSeparateSourceSinkFactory() {
+ void testDiscoveryForSeparateSourceSinkFactory() {
final Map<String, String> options = createAllOptions();
// the "test" source and sink factory is not in one factory class
// see TestDynamicTableSinkFactory and TestDynamicTableSourceFactory
@@ -248,7 +248,7 @@ public class FactoryUtilTest {
}
@Test
- public void testOptionalFormat() {
+ void testOptionalFormat() {
final Map<String, String> options = createAllOptions();
options.remove("key.format");
options.remove("key.test-format.delimiter");
@@ -264,7 +264,7 @@ public class FactoryUtilTest {
}
@Test
- public void testAlternativeValueFormat() {
+ void testAlternativeValueFormat() {
final Map<String, String> options = createAllOptions();
options.remove("value.format");
options.remove("value.test-format.delimiter");
@@ -291,7 +291,7 @@ public class FactoryUtilTest {
}
@Test
- public void testConnectorErrorHint() {
+ void testConnectorErrorHint() {
assertThatThrownBy(
() ->
createTableSource(
@@ -313,7 +313,7 @@ public class FactoryUtilTest {
}
@Test
- public void testRequiredPlaceholderOption() {
+ void testRequiredPlaceholderOption() {
final Set<ConfigOption<?>> requiredOptions = new HashSet<>();
requiredOptions.add(ConfigOptions.key("fields.#.min").intType().noDefaultValue());
requiredOptions.add(
@@ -326,7 +326,7 @@ public class FactoryUtilTest {
}
@Test
- public void testCreateCatalog() {
+ void testCreateCatalog() {
final Map<String, String> options = new HashMap<>();
options.put(CommonCatalogOptions.CATALOG_TYPE.key(), TestCatalogFactory.IDENTIFIER);
options.put(TestCatalogFactory.DEFAULT_DATABASE.key(), "my-database");
@@ -346,7 +346,7 @@ public class FactoryUtilTest {
}
@Test
- public void testCatalogFactoryHelper() {
+ void testCatalogFactoryHelper() {
final FactoryUtil.CatalogFactoryHelper helper1 =
FactoryUtil.createCatalogFactoryHelper(
new TestCatalogFactory(),
@@ -376,7 +376,7 @@ public class FactoryUtilTest {
}
@Test
- public void testFactoryHelperWithDeprecatedOptions() {
+ void testFactoryHelperWithDeprecatedOptions() {
final Map<String, String> options = new HashMap<>();
options.put("deprecated-target", "MyTarget");
options.put("fallback-buffer-size", "1000");
@@ -394,7 +394,7 @@ public class FactoryUtilTest {
}
@Test
- public void testFactoryHelperWithEnrichmentOptions() {
+ void testFactoryHelperWithEnrichmentOptions() {
final Map<String, String> options = new HashMap<>();
options.put(TestDynamicTableFactory.TARGET.key(), "abc");
options.put(TestDynamicTableFactory.BUFFER_SIZE.key(), "1000");
@@ -415,7 +415,7 @@ public class FactoryUtilTest {
}
@Test
- public void testFactoryHelperWithEnrichmentOptionsAndFormat() {
+ void testFactoryHelperWithEnrichmentOptionsAndFormat() {
String keyFormatPrefix =
FactoryUtil.getFormatPrefix(
TestDynamicTableFactory.KEY_FORMAT, TestFormatFactory.IDENTIFIER);
@@ -474,7 +474,7 @@ public class FactoryUtilTest {
}
@Test
- public void testFactoryHelperWithEnrichmentOptionsMissingFormatIdentifier() {
+ void testFactoryHelperWithEnrichmentOptionsMissingFormatIdentifier() {
final Map<String, String> options = new HashMap<>();
options.put(TestDynamicTableFactory.TARGET.key(), "abc");
@@ -505,7 +505,7 @@ public class FactoryUtilTest {
}
@Test
- public void testFactoryHelperWithEnrichmentOptionsFormatMismatch() {
+ void testFactoryHelperWithEnrichmentOptionsFormatMismatch() {
String keyFormatPrefix =
FactoryUtil.getFormatPrefix(
TestDynamicTableFactory.KEY_FORMAT, TestFormatFactory.IDENTIFIER);
@@ -542,7 +542,7 @@ public class FactoryUtilTest {
}
@Test
- public void testFactoryHelperWithEmptyEnrichmentOptions() {
+ void testFactoryHelperWithEmptyEnrichmentOptions() {
final Map<String, String> options = new HashMap<>();
options.put(TestDynamicTableFactory.TARGET.key(), "abc");
options.put(TestDynamicTableFactory.BUFFER_SIZE.key(), "1000");
@@ -559,7 +559,7 @@ public class FactoryUtilTest {
}
@Test
- public void testFactoryHelperWithMapOption() {
+ void testFactoryHelperWithMapOption() {
final Map<String, String> options = new HashMap<>();
options.put("properties.prop-1", "value-1");
options.put("properties.prop-2", "value-2");
@@ -572,7 +572,7 @@ public class FactoryUtilTest {
}
@Test
- public void testInvalidFactoryHelperWithMapOption() {
+ void testInvalidFactoryHelperWithMapOption() {
final Map<String, String> options = new HashMap<>();
options.put("properties.prop-1", "value-1");
options.put("properties.prop-2", "value-2");
@@ -598,7 +598,7 @@ public class FactoryUtilTest {
}
@Test
- public void testDiscoverFactoryBadClass(@TempDir Path tempDir) throws IOException {
+ void testDiscoverFactoryBadClass(@TempDir Path tempDir) throws IOException {
// Let's prepare the classloader with a factory interface and 2 classes, one implements our
// sub-interface of SerializationFormatFactory and the other implements only
// SerializationFormatFactory.
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/TableSinkFactoryServiceTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/TableSinkFactoryServiceTest.java
index e06825dfb7d..112390024ad 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/TableSinkFactoryServiceTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/TableSinkFactoryServiceTest.java
@@ -18,7 +18,7 @@
package org.apache.flink.table.factories;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
@@ -37,17 +37,17 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
* Tests for testing table sink discovery using {@link TableFactoryService}. The tests assume the
* table sink factory {@link TestTableSinkFactory} is registered.
*/
-public class TableSinkFactoryServiceTest {
+class TableSinkFactoryServiceTest {
@Test
- public void testValidProperties() {
+ void testValidProperties() {
Map<String, String> props = properties();
assertThat(TableFactoryService.find(TableSinkFactory.class, props))
.isInstanceOf(TestTableSinkFactory.class);
}
@Test
- public void testInvalidContext() {
+ void testInvalidContext() {
Map<String, String> props = properties();
props.put(CONNECTOR_TYPE, "unknown-connector-type");
assertThatThrownBy(() -> TableFactoryService.find(TableSinkFactory.class, props))
@@ -56,7 +56,7 @@ public class TableSinkFactoryServiceTest {
}
@Test
- public void testDifferentContextVersion() {
+ void testDifferentContextVersion() {
Map<String, String> props = properties();
props.put(CONNECTOR_PROPERTY_VERSION, "2");
// the table source should still be found
@@ -65,7 +65,7 @@ public class TableSinkFactoryServiceTest {
}
@Test
- public void testUnsupportedProperty() {
+ void testUnsupportedProperty() {
Map<String, String> props = properties();
props.put("format.path_new", "/new/path");
assertThatThrownBy(() -> TableFactoryService.find(TableSinkFactory.class, props))
@@ -78,7 +78,7 @@ public class TableSinkFactoryServiceTest {
}
@Test
- public void testMissingProperty() {
+ void testMissingProperty() {
Map<String, String> props = properties();
props.remove(TableFactoryService.FORMAT_TYPE);
assertThatThrownBy(() -> TableFactoryService.find(TableSinkFactory.class, props))
@@ -91,7 +91,7 @@ public class TableSinkFactoryServiceTest {
}
@Test
- public void testMismatchedProperty() {
+ void testMismatchedProperty() {
Map<String, String> props = properties();
props.put(TableFactoryService.FORMAT_TYPE, FORMAT_TYPE_VALUE_TEST + "_new");
assertThatThrownBy(() -> TableFactoryService.find(TableSinkFactory.class, props))
@@ -104,7 +104,7 @@ public class TableSinkFactoryServiceTest {
}
@Test
- public void testMissingAndMismatchedProperty() {
+ void testMissingAndMismatchedProperty() {
Map<String, String> props = properties();
props.put(TableFactoryService.FORMAT_TYPE, FORMAT_TYPE_VALUE_TEST + "_new");
props.remove(REQUIRED_TEST);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/module/CoreModuleFactoryTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/module/CoreModuleFactoryTest.java
index 14b1cc9b01f..29ada0b6292 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/module/CoreModuleFactoryTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/factories/module/CoreModuleFactoryTest.java
@@ -24,7 +24,7 @@ import org.apache.flink.table.module.CoreModule;
import org.apache.flink.table.module.CoreModuleFactory;
import org.apache.flink.table.module.Module;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.Collections;
@@ -34,10 +34,10 @@ import static org.assertj.core.api.Assertions.assertThat;
* Test for {@link org.apache.flink.table.module.CoreModule} created by {@link
* org.apache.flink.table.module.CoreModuleFactory}.
*/
-public class CoreModuleFactoryTest {
+class CoreModuleFactoryTest {
@Test
- public void test() {
+ void test() {
final CoreModule expectedModule = CoreModule.INSTANCE;
final Module actualModule =
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/functions/UserDefinedFunctionHelperTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/functions/UserDefinedFunctionHelperTest.java
index ac1c13e702d..ce0b3cb1861 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/functions/UserDefinedFunctionHelperTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/functions/UserDefinedFunctionHelperTest.java
@@ -24,7 +24,7 @@ import org.apache.flink.table.catalog.CatalogFunction;
import org.apache.flink.table.catalog.FunctionLanguage;
import org.apache.flink.util.Collector;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
@@ -45,11 +45,11 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link UserDefinedFunctionHelper}. */
@SuppressWarnings("unused")
-public class UserDefinedFunctionHelperTest {
+class UserDefinedFunctionHelperTest {
@ParameterizedTest
@MethodSource("testSpecs")
- public void testInstantiation(TestSpec testSpec) {
+ void testInstantiation(TestSpec testSpec) {
final Supplier<UserDefinedFunction> supplier;
if (testSpec.functionClass != null) {
supplier = () -> instantiateFunction(testSpec.functionClass);
@@ -77,7 +77,7 @@ public class UserDefinedFunctionHelperTest {
@ParameterizedTest
@MethodSource("testSpecs")
- public void testValidation(TestSpec testSpec) {
+ void testValidation(TestSpec testSpec) {
final Runnable runnable;
if (testSpec.functionClass != null) {
runnable = () -> validateClass(testSpec.functionClass);
@@ -98,7 +98,7 @@ public class UserDefinedFunctionHelperTest {
}
@Test
- public void testSerialization() {
+ void testSerialization() {
assertThat(isClassNameSerializable(new ValidTableFunction())).isTrue();
assertThat(isClassNameSerializable(new ValidScalarFunction())).isTrue();
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/module/CoreModuleTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/module/CoreModuleTest.java
index d8980457979..8e63d41dc9b 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/module/CoreModuleTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/module/CoreModuleTest.java
@@ -20,16 +20,16 @@ package org.apache.flink.table.module;
import org.apache.flink.table.functions.BuiltInFunctionDefinition;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.InstanceOfAssertFactories.type;
/** Test for {@link CoreModule}. */
-public class CoreModuleTest {
+class CoreModuleTest {
@Test
- public void testListFunctions() {
+ void testListFunctions() {
assertThat(CoreModule.INSTANCE.listFunctions(false))
.contains("IFNULL")
.doesNotContain("$REPLICATE_ROWS$1");
@@ -40,12 +40,12 @@ public class CoreModuleTest {
}
@Test
- public void testGetNonExistFunction() {
+ void testGetNonExistFunction() {
assertThat(CoreModule.INSTANCE.getFunctionDefinition("nonexist")).isEmpty();
}
@Test
- public void testGetFunction() {
+ void testGetFunction() {
assertThat(CoreModule.INSTANCE.getFunctionDefinition("CAST"))
.hasValueSatisfying(
def ->
@@ -56,7 +56,7 @@ public class CoreModuleTest {
}
@Test
- public void testGetInternalFunction() {
+ void testGetInternalFunction() {
assertThat(CoreModule.INSTANCE.getFunctionDefinition("$REPLICATE_ROWS$1"))
.hasValueSatisfying(
def ->
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/plan/stats/TableStatsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/plan/stats/TableStatsTest.java
index 6ad1d2a2978..87ffab4b877 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/plan/stats/TableStatsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/plan/stats/TableStatsTest.java
@@ -18,7 +18,7 @@
package org.apache.flink.table.plan.stats;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
@@ -26,10 +26,10 @@ import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
/** Test for {@link TableStats}. */
-public class TableStatsTest {
+class TableStatsTest {
@Test
- public void testMerge() {
+ void testMerge() {
Map<String, ColumnStats> colStats1 = new HashMap<>();
colStats1.put("a", new ColumnStats(4L, 5L, 2D, 3, 15, 2));
TableStats stats1 = new TableStats(30, colStats1);
@@ -44,7 +44,7 @@ public class TableStatsTest {
}
@Test
- public void testMergeLackColumnStats() {
+ void testMergeLackColumnStats() {
Map<String, ColumnStats> colStats1 = new HashMap<>();
colStats1.put("a", new ColumnStats(4L, 5L, 2D, 3, 15, 2));
colStats1.put("b", new ColumnStats(4L, 5L, 2D, 3, 15, 2));
@@ -60,7 +60,7 @@ public class TableStatsTest {
}
@Test
- public void testMergeUnknownRowCount() {
+ void testMergeUnknownRowCount() {
TableStats stats1 = new TableStats(-1, new HashMap<>());
TableStats stats2 = new TableStats(32, new HashMap<>());
assertThat(stats1.merge(stats2)).isEqualTo(new TableStats(-1, new HashMap<>()));
@@ -75,7 +75,7 @@ public class TableStatsTest {
}
@Test
- public void testMergeColumnStatsUnknown() {
+ void testMergeColumnStatsUnknown() {
ColumnStats columnStats0 = new ColumnStats(4L, 5L, 2D, 3, 15, 2);
ColumnStats columnStats1 = new ColumnStats(4L, null, 2D, 3, 15, 2);
ColumnStats columnStats2 = new ColumnStats(4L, 5L, 2D, null, 15, 2);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/sources/TableSourceTestBase.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/sources/TableSourceTestBase.java
index e116f2aab44..3388265c085 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/sources/TableSourceTestBase.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/sources/TableSourceTestBase.java
@@ -27,7 +27,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assumptions.assumeThat;
/** Collection of tests that verify assumptions that table sources should meet. */
-public abstract class TableSourceTestBase {
+abstract class TableSourceTestBase {
/**
* Constructs a table source to be tested.
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/test/LogicalTypeAssert.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/test/LogicalTypeAssert.java
index 771e1171b2f..4f25c48ce7e 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/test/LogicalTypeAssert.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/test/LogicalTypeAssert.java
@@ -37,7 +37,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.assertj.core.api.Assertions.fail;
import static org.assertj.core.api.Assertions.not;
-/** Aseertions for {@link LogicalType}. */
+/** Assertions for {@link LogicalType}. */
@Experimental
public class LogicalTypeAssert extends AbstractAssert<LogicalTypeAssert, LogicalType> {
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/ClassDataTypeConverterTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/ClassDataTypeConverterTest.java
index 3c9920969b0..13ae87f75bd 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/ClassDataTypeConverterTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/ClassDataTypeConverterTest.java
@@ -24,56 +24,49 @@ import org.apache.flink.table.types.logical.SymbolType;
import org.apache.flink.table.types.utils.ClassDataTypeConverter;
import org.apache.flink.types.Row;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import javax.annotation.Nullable;
import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.params.provider.Arguments.of;
/** Tests for {@link ClassDataTypeConverter}. */
-@RunWith(Parameterized.class)
-public class ClassDataTypeConverterTest {
+class ClassDataTypeConverterTest {
- @Parameterized.Parameters(name = "[{index}] class: {0} type: {1}")
- public static List<Object[]> testData() {
- return Arrays.asList(
- new Object[][] {
- {long.class, DataTypes.BIGINT().notNull().bridgedTo(long.class)},
- {byte[].class, DataTypes.BYTES().nullable().bridgedTo(byte[].class)},
- {Long.class, DataTypes.BIGINT().nullable().bridgedTo(Long.class)},
- {
+ private static Stream<Arguments> testData() {
+ return Stream.of(
+ of(long.class, DataTypes.BIGINT().notNull().bridgedTo(long.class)),
+ of(byte[].class, DataTypes.BYTES().nullable().bridgedTo(byte[].class)),
+ of(Long.class, DataTypes.BIGINT().nullable().bridgedTo(Long.class)),
+ of(
java.sql.Time.class,
- DataTypes.TIME(0).nullable().bridgedTo(java.sql.Time.class)
- },
- {
+ DataTypes.TIME(0).nullable().bridgedTo(java.sql.Time.class)),
+ of(
java.time.Duration.class,
- DataTypes.INTERVAL(DataTypes.SECOND(9)).bridgedTo(java.time.Duration.class)
- },
- {
+ DataTypes.INTERVAL(DataTypes.SECOND(9))
+ .bridgedTo(java.time.Duration.class)),
+ of(
java.time.Period.class,
DataTypes.INTERVAL(DataTypes.YEAR(4), DataTypes.MONTH())
- .bridgedTo(java.time.Period.class)
- },
- {BigDecimal.class, null},
- {
+ .bridgedTo(java.time.Period.class)),
+ of(BigDecimal.class, null),
+ of(
byte[][].class,
DataTypes.ARRAY(DataTypes.BYTES().nullable().bridgedTo(byte[].class))
.nullable()
- .bridgedTo(byte[][].class)
- },
- {
+ .bridgedTo(byte[][].class)),
+ of(
Byte[].class,
DataTypes.ARRAY(DataTypes.TINYINT().nullable().bridgedTo(Byte.class))
.nullable()
- .bridgedTo(Byte[].class)
- },
- {
+ .bridgedTo(Byte[].class)),
+ of(
Byte[][].class,
DataTypes.ARRAY(
DataTypes.ARRAY(
@@ -83,35 +76,26 @@ public class ClassDataTypeConverterTest {
.nullable()
.bridgedTo(Byte[].class))
.nullable()
- .bridgedTo(Byte[][].class)
- },
- {
+ .bridgedTo(Byte[][].class)),
+ of(
Integer[].class,
DataTypes.ARRAY(DataTypes.INT().nullable().bridgedTo(Integer.class))
.nullable()
- .bridgedTo(Integer[].class)
- },
- {
+ .bridgedTo(Integer[].class)),
+ of(
int[].class,
DataTypes.ARRAY(DataTypes.INT().notNull().bridgedTo(int.class))
.nullable()
- .bridgedTo(int[].class)
- },
- {
+ .bridgedTo(int[].class)),
+ of(
TimeIntervalUnit.class,
- new AtomicDataType(new SymbolType<>()).bridgedTo(TimeIntervalUnit.class)
- },
- {Row.class, null}
- });
+ new AtomicDataType(new SymbolType<>()).bridgedTo(TimeIntervalUnit.class)),
+ of(Row.class, null));
}
- @Parameterized.Parameter public Class<?> clazz;
-
- @Parameterized.Parameter(1)
- public @Nullable DataType dataType;
-
- @Test
- public void testClassToDataTypeConversion() {
+ @ParameterizedTest(name = "[{index}] class: {0} type: {1}")
+ @MethodSource("testData")
+ void testClassToDataTypeConversion(Class<?> clazz, @Nullable DataType dataType) {
if (dataType == null) {
assertThat(ClassDataTypeConverter.extractDataType(clazz)).isEmpty();
} else {
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/DataTypeTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/DataTypeTest.java
index 008fd9e907e..a7d824009bf 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/DataTypeTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/DataTypeTest.java
@@ -50,23 +50,23 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Test for {@link DataType}. */
-public class DataTypeTest {
+class DataTypeTest {
@Test
- public void testNullability() {
+ void testNullability() {
assertThat(BIGINT().nullable()).isNullable();
assertThat(BIGINT().notNull()).isNotNullable();
assertThat(BIGINT().notNull().nullable()).isNullable();
}
@Test
- public void testAtomicConversion() {
+ void testAtomicConversion() {
assertThat(TIMESTAMP(0).bridgedTo(java.sql.Timestamp.class))
.hasConversionClass(java.sql.Timestamp.class);
}
@Test
- public void testTolerantAtomicConversion() {
+ void testTolerantAtomicConversion() {
// this is logically only supported as input type because of
// nullability but is tolerated until the planner complains
// about an output type
@@ -74,19 +74,19 @@ public class DataTypeTest {
}
@Test
- public void testInvalidAtomicConversion() {
+ void testInvalidAtomicConversion() {
assertThatThrownBy(() -> TIMESTAMP(0).bridgedTo(DataTypesTest.class))
.isInstanceOf(ValidationException.class);
}
@Test
- public void testArrayElementConversion() {
+ void testArrayElementConversion() {
assertThat(ARRAY(ARRAY(INT().notNull().bridgedTo(int.class))))
.hasConversionClass(int[][].class);
}
@Test
- public void testTolerantArrayConversion() {
+ void testTolerantArrayConversion() {
// this is logically only supported as input type because of
// nullability but is tolerated until the planner complains
// about an output type
@@ -95,44 +95,44 @@ public class DataTypeTest {
}
@Test
- public void testInvalidArrayConversion() {
+ void testInvalidArrayConversion() {
assertThatThrownBy(() -> ARRAY(ARRAY(INT())).bridgedTo(int[][][].class))
.isInstanceOf(ValidationException.class);
}
@Test
- public void testTolerantMapConversion() {
+ void testTolerantMapConversion() {
// this doesn't make much sense logically but is supported until the planner complains
assertThat(MULTISET(MULTISET(INT().bridgedTo(int.class)))).hasConversionClass(Map.class);
}
@Test
- public void testFields() {
+ void testFields() {
assertThat(ROW(FIELD("field1", CHAR(2)), FIELD("field2", BOOLEAN())))
.getChildren()
.containsExactly(CHAR(2), BOOLEAN());
}
@Test
- public void testInvalidOrderInterval() {
+ void testInvalidOrderInterval() {
assertThatThrownBy(() -> INTERVAL(MONTH(), YEAR(2)))
.isInstanceOf(ValidationException.class);
}
@Test
- public void testConversionEquality() {
+ void testConversionEquality() {
assertThat(DataTypes.VARCHAR(2).bridgedTo(String.class)).isEqualTo(DataTypes.VARCHAR(2));
}
@Test
- public void testArrayInternalElementConversion() {
+ void testArrayInternalElementConversion() {
assertThat(ARRAY(STRING()).bridgedTo(ArrayData.class))
.getChildren()
.containsExactly(STRING().bridgedTo(StringData.class));
}
@Test
- public void testMapInternalElementConversion() {
+ void testMapInternalElementConversion() {
assertThat(MAP(STRING(), ROW()).bridgedTo(MapData.class))
.getChildren()
.containsExactly(
@@ -140,7 +140,7 @@ public class DataTypeTest {
}
@Test
- public void testGetFieldNames() {
+ void testGetFieldNames() {
assertThat(
DataType.getFieldNames(
ROW(
@@ -160,7 +160,7 @@ public class DataTypeTest {
}
@Test
- public void testGetFieldDataTypes() {
+ void testGetFieldDataTypes() {
assertThat(
DataType.getFieldDataTypes(
ROW(
@@ -180,7 +180,7 @@ public class DataTypeTest {
}
@Test
- public void testGetFieldCount() {
+ void testGetFieldCount() {
assertThat(
DataType.getFieldCount(
ROW(
@@ -200,7 +200,7 @@ public class DataTypeTest {
}
@Test
- public void testGetFields() {
+ void testGetFields() {
assertThat(
DataType.getFields(
ROW(
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/DataTypesTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/DataTypesTest.java
index a658285ba74..a90650e1762 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/DataTypesTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/DataTypesTest.java
@@ -52,11 +52,8 @@ import org.apache.flink.table.types.utils.DataTypeFactoryMock;
import org.apache.flink.table.types.utils.LogicalTypeDataTypeConverter;
import org.apache.flink.types.Row;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import javax.annotation.Nullable;
@@ -66,6 +63,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.stream.Stream;
import static org.apache.flink.table.api.DataTypes.ARRAY;
import static org.apache.flink.table.api.DataTypes.BIGINT;
@@ -105,12 +103,10 @@ import static org.apache.flink.table.types.utils.DataTypeFactoryMock.dummyRaw;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link DataTypes} and {@link LogicalTypeDataTypeConverter}. */
-@RunWith(Parameterized.class)
-public class DataTypesTest {
+class DataTypesTest {
- @Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ private static Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forDataType(CHAR(2))
.expectLogicalType(new CharType(2))
.expectConversionClass(String.class),
@@ -294,10 +290,9 @@ public class DataTypesTest {
.expectResolvedDataType(dummyRaw(DayOfWeek.class)));
}
- @Parameter public TestSpec testSpec;
-
- @Test
- public void testLogicalType() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testLogicalType(TestSpec testSpec) {
if (testSpec.expectedLogicalType != null) {
final DataType dataType =
testSpec.typeFactory.createDataType(testSpec.abstractDataType);
@@ -309,16 +304,18 @@ public class DataTypesTest {
}
}
- @Test
- public void testConversionClass() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testConversionClass(TestSpec testSpec) {
if (testSpec.expectedConversionClass != null) {
assertThat(testSpec.typeFactory.createDataType(testSpec.abstractDataType))
.hasConversionClass(testSpec.expectedConversionClass);
}
}
- @Test
- public void testChildren() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testChildren(TestSpec testSpec) {
if (testSpec.expectedChildren != null) {
assertThat(testSpec.typeFactory.createDataType(testSpec.abstractDataType))
.getChildren()
@@ -326,16 +323,18 @@ public class DataTypesTest {
}
}
- @Test
- public void testUnresolvedString() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testUnresolvedString(TestSpec testSpec) {
if (testSpec.expectedUnresolvedString != null) {
assertThat(testSpec.abstractDataType.toString())
.isEqualTo(testSpec.expectedUnresolvedString);
}
}
- @Test
- public void testResolvedDataType() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testResolvedDataType(TestSpec testSpec) {
if (testSpec.expectedResolvedDataType != null) {
assertThat(testSpec.typeFactory.createDataType(testSpec.abstractDataType))
.isEqualTo(testSpec.expectedResolvedDataType);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LegacyTypeInfoDataTypeConverterTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LegacyTypeInfoDataTypeConverterTest.java
index 905e459bd44..1c1ef40b69d 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LegacyTypeInfoDataTypeConverterTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LegacyTypeInfoDataTypeConverterTest.java
@@ -31,58 +31,47 @@ import org.apache.flink.table.types.logical.TimestampType;
import org.apache.flink.table.types.utils.LegacyTypeInfoDataTypeConverter;
import org.apache.flink.table.typeutils.TimeIndicatorTypeInfo;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
import static org.apache.flink.table.api.DataTypes.FIELD;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.params.provider.Arguments.of;
/** Tests for {@link LegacyTypeInfoDataTypeConverter}. */
-@RunWith(Parameterized.class)
-public class LegacyTypeInfoDataTypeConverterTest {
+class LegacyTypeInfoDataTypeConverterTest {
- @Parameters(name = "[{index}] type info: {0} data type: {1}")
- public static List<Object[]> typeInfo() {
- return Arrays.asList(
- new Object[][] {
- {Types.STRING, DataTypes.STRING()},
- {Types.STRING, DataTypes.STRING().notNull()},
- {Types.BOOLEAN, DataTypes.BOOLEAN()},
- {
- Types.SQL_TIMESTAMP,
- DataTypes.TIMESTAMP(3).bridgedTo(java.sql.Timestamp.class)
- },
- {
+ private static Stream<Arguments> typeInfo() {
+ return Stream.of(
+ of(Types.STRING, DataTypes.STRING()),
+ of(Types.STRING, DataTypes.STRING().notNull()),
+ of(Types.BOOLEAN, DataTypes.BOOLEAN()),
+ of(Types.SQL_TIMESTAMP, DataTypes.TIMESTAMP(3).bridgedTo(java.sql.Timestamp.class)),
+ of(
Types.GENERIC(LegacyTypeInfoDataTypeConverterTest.class),
new AtomicDataType(
new LegacyTypeInformationType<>(
LogicalTypeRoot.RAW,
- Types.GENERIC(LegacyTypeInfoDataTypeConverterTest.class)))
- },
- {
+ Types.GENERIC(LegacyTypeInfoDataTypeConverterTest.class)))),
+ of(
Types.ROW_NAMED(new String[] {"field1", "field2"}, Types.INT, Types.LONG),
DataTypes.ROW(
FIELD("field1", DataTypes.INT()),
- FIELD("field2", DataTypes.BIGINT()))
- },
- {
+ FIELD("field2", DataTypes.BIGINT()))),
+ of(
Types.MAP(Types.FLOAT, Types.ROW(Types.BYTE)),
DataTypes.MAP(
- DataTypes.FLOAT(), DataTypes.ROW(FIELD("f0", DataTypes.TINYINT())))
- },
- {
+ DataTypes.FLOAT(),
+ DataTypes.ROW(FIELD("f0", DataTypes.TINYINT())))),
+ of(
Types.PRIMITIVE_ARRAY(Types.FLOAT),
DataTypes.ARRAY(DataTypes.FLOAT().notNull().bridgedTo(float.class))
- .bridgedTo(float[].class)
- },
- {Types.PRIMITIVE_ARRAY(Types.BYTE), DataTypes.BYTES()},
- {
+ .bridgedTo(float[].class)),
+ of(Types.PRIMITIVE_ARRAY(Types.BYTE), DataTypes.BYTES()),
+ of(
Types.OBJECT_ARRAY(Types.PRIMITIVE_ARRAY(Types.FLOAT)),
DataTypes.ARRAY(
DataTypes.ARRAY(
@@ -90,54 +79,44 @@ public class LegacyTypeInfoDataTypeConverterTest {
.notNull()
.bridgedTo(float.class))
.bridgedTo(float[].class))
- .bridgedTo(float[][].class)
- },
- {
+ .bridgedTo(float[][].class)),
+ of(
BasicArrayTypeInfo.STRING_ARRAY_TYPE_INFO,
new AtomicDataType(
new LegacyTypeInformationType<>(
LogicalTypeRoot.ARRAY,
- BasicArrayTypeInfo.STRING_ARRAY_TYPE_INFO))
- },
- {
+ BasicArrayTypeInfo.STRING_ARRAY_TYPE_INFO))),
+ of(
ObjectArrayTypeInfo.getInfoFor(Types.STRING),
- DataTypes.ARRAY(DataTypes.STRING()).bridgedTo(String[].class)
- },
- {
+ DataTypes.ARRAY(DataTypes.STRING()).bridgedTo(String[].class)),
+ of(
Types.TUPLE(Types.SHORT, Types.DOUBLE, Types.FLOAT),
new AtomicDataType(
new LegacyTypeInformationType<>(
LogicalTypeRoot.STRUCTURED_TYPE,
- Types.TUPLE(Types.SHORT, Types.DOUBLE, Types.FLOAT)))
- },
- {
+ Types.TUPLE(Types.SHORT, Types.DOUBLE, Types.FLOAT)))),
+ of(
TimeIndicatorTypeInfo.ROWTIME_INDICATOR,
new AtomicDataType(new TimestampType(true, TimestampKind.ROWTIME, 3))
- .bridgedTo(java.sql.Timestamp.class)
- },
- {
+ .bridgedTo(java.sql.Timestamp.class)),
+ of(
TimeIndicatorTypeInfo.PROCTIME_INDICATOR,
new AtomicDataType(
new LocalZonedTimestampType(
true, TimestampKind.PROCTIME, 3))
- .bridgedTo(java.time.Instant.class)
- }
- });
+ .bridgedTo(java.time.Instant.class)));
}
- @Parameter public TypeInformation<?> inputTypeInfo;
-
- @Parameter(1)
- public DataType dataType;
-
- @Test
- public void testTypeInfoToDataTypeConversion() {
+ @ParameterizedTest(name = "[{index}] type info: {0} data type: {1}")
+ @MethodSource("typeInfo")
+ void testTypeInfoToDataTypeConversion(TypeInformation<?> inputTypeInfo, DataType dataType) {
assertThat(LegacyTypeInfoDataTypeConverter.toDataType(inputTypeInfo))
.isEqualTo(dataType.nullable());
}
- @Test
- public void testDataTypeToTypeInfoConversion() {
+ @ParameterizedTest(name = "[{index}] type info: {0} data type: {1}")
+ @MethodSource("typeInfo")
+ void testDataTypeToTypeInfoConversion(TypeInformation<?> inputTypeInfo, DataType dataType) {
assertThat(LegacyTypeInfoDataTypeConverter.toLegacyTypeInfo(dataType))
.isEqualTo(inputTypeInfo);
}
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalCommonTypeTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalCommonTypeTest.java
index ad76ea66e30..77acab70ea4 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalCommonTypeTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalCommonTypeTest.java
@@ -44,235 +44,210 @@ import org.apache.flink.table.types.logical.YearMonthIntervalType.YearMonthResol
import org.apache.flink.table.types.logical.ZonedTimestampType;
import org.apache.flink.table.types.logical.utils.LogicalTypeMerging;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import javax.annotation.Nullable;
import java.util.Arrays;
import java.util.List;
+import java.util.stream.Stream;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.params.provider.Arguments.of;
/** Tests for {@link LogicalTypeMerging#findCommonType(List)}. */
-@RunWith(Parameterized.class)
-public class LogicalCommonTypeTest {
+class LogicalCommonTypeTest {
- @Parameters(name = "{index}: [Types: {0}, To: {1}]")
- public static List<Object[]> testData() {
- return Arrays.asList(
- new Object[][] {
+ private static Stream<Arguments> testData() {
+ return Stream.of(
+ // simple types
+ of(Arrays.asList(new IntType(), new IntType()), new IntType()),
- // simple types
- {Arrays.asList(new IntType(), new IntType()), new IntType()},
+ // incompatible types
+ of(Arrays.asList(new IntType(), new ArrayType(new IntType())), null),
- // incompatible types
- {Arrays.asList(new IntType(), new ArrayType(new IntType())), null},
+ // incompatible types
+ of(Arrays.asList(new IntType(), new VarCharType(23)), null),
- // incompatible types
- {Arrays.asList(new IntType(), new VarCharType(23)), null},
+ // incompatible types
+ of(Arrays.asList(new BinaryType(), new VarCharType(23)), null),
- // incompatible types
- {Arrays.asList(new BinaryType(), new VarCharType(23)), null},
+ // NOT NULL types
+ of(Arrays.asList(new IntType(false), new IntType(false)), new IntType(false)),
- // NOT NULL types
- {Arrays.asList(new IntType(false), new IntType(false)), new IntType(false)},
+ // NOT NULL with different types
+ of(Arrays.asList(new IntType(true), new BigIntType(false)), new BigIntType()),
- // NOT NULL with different types
- {Arrays.asList(new IntType(true), new BigIntType(false)), new BigIntType()},
+ // NULL only
+ of(Arrays.asList(new NullType(), new NullType()), null),
- // NULL only
- {Arrays.asList(new NullType(), new NullType()), null},
+ // NULL with other types
+ of(Arrays.asList(new NullType(), new IntType(), new IntType()), new IntType()),
- // NULL with other types
- {Arrays.asList(new NullType(), new IntType(), new IntType()), new IntType()},
-
- // ARRAY types with same element type
- {
+ // ARRAY types with same element type
+ of(
Arrays.asList(new ArrayType(new IntType()), new ArrayType(new IntType())),
- new ArrayType(new IntType())
- },
+ new ArrayType(new IntType())),
- // ARRAY types with different element types
- {
+ // ARRAY types with different element types
+ of(
Arrays.asList(
new ArrayType(new BigIntType()), new ArrayType(new IntType())),
- new ArrayType(new BigIntType())
- },
+ new ArrayType(new BigIntType())),
- // MULTISET types with different element type
- {
+ // MULTISET types with different element type
+ of(
Arrays.asList(
new MultisetType(new BigIntType()),
new MultisetType(new IntType())),
- new MultisetType(new BigIntType())
- },
+ new MultisetType(new BigIntType())),
- // MAP types with different element type
- {
+ // MAP types with different element type
+ of(
Arrays.asList(
new MapType(new BigIntType(), new DoubleType()),
new MapType(new IntType(), new DoubleType())),
- new MapType(new BigIntType(), new DoubleType())
- },
+ new MapType(new BigIntType(), new DoubleType())),
- // ROW type with different element types
- {
+ // ROW type with different element types
+ of(
Arrays.asList(
RowType.of(new IntType(), new IntType(), new BigIntType()),
RowType.of(new BigIntType(), new IntType(), new IntType())),
- RowType.of(new BigIntType(), new IntType(), new BigIntType())
- },
+ RowType.of(new BigIntType(), new IntType(), new BigIntType())),
- // CHAR types of same length
- {Arrays.asList(new CharType(2), new CharType(2)), new CharType(2)},
+ // CHAR types of same length
+ of(Arrays.asList(new CharType(2), new CharType(2)), new CharType(2)),
- // CHAR types of length 0
- {
+ // CHAR types of length 0
+ of(
Arrays.asList(CharType.ofEmptyLiteral(), CharType.ofEmptyLiteral()),
- CharType.ofEmptyLiteral()
- },
+ CharType.ofEmptyLiteral()),
- // CHAR types of different length
- {Arrays.asList(new CharType(2), new CharType(4)), new VarCharType(4)},
+ // CHAR types of different length
+ of(Arrays.asList(new CharType(2), new CharType(4)), new VarCharType(4)),
- // VARCHAR types of different length
- {
+ // VARCHAR types of different length
+ of(
Arrays.asList(new VarCharType(2), VarCharType.STRING_TYPE),
- VarCharType.STRING_TYPE
- },
+ VarCharType.STRING_TYPE),
- // mixed VARCHAR and CHAR types
- {Arrays.asList(new VarCharType(2), new CharType(5)), new VarCharType(5)},
+ // mixed VARCHAR and CHAR types
+ of(Arrays.asList(new VarCharType(2), new CharType(5)), new VarCharType(5)),
- // more mixed VARCHAR and CHAR types
- {
+ // more mixed VARCHAR and CHAR types
+ of(
Arrays.asList(new CharType(5), new VarCharType(2), new VarCharType(7)),
- new VarCharType(7)
- },
+ new VarCharType(7)),
- // BINARY types of different length
- {Arrays.asList(new BinaryType(2), new BinaryType(4)), new VarBinaryType(4)},
+ // BINARY types of different length
+ of(Arrays.asList(new BinaryType(2), new BinaryType(4)), new VarBinaryType(4)),
- // mixed BINARY and VARBINARY types
- {
+ // mixed BINARY and VARBINARY types
+ of(
Arrays.asList(
new BinaryType(5), new VarBinaryType(2), new VarBinaryType(7)),
- new VarBinaryType(7)
- },
+ new VarBinaryType(7)),
- // two APPROXIMATE_NUMERIC types
- {Arrays.asList(new DoubleType(), new FloatType()), new DoubleType()},
+ // two APPROXIMATE_NUMERIC types
+ of(Arrays.asList(new DoubleType(), new FloatType()), new DoubleType()),
- // one APPROXIMATE_NUMERIC and one DECIMAL type
- {Arrays.asList(new DoubleType(), new DecimalType(2, 2)), new DoubleType()},
+ // one APPROXIMATE_NUMERIC and one DECIMAL type
+ of(Arrays.asList(new DoubleType(), new DecimalType(2, 2)), new DoubleType()),
- // one APPROXIMATE_NUMERIC and one EXACT_NUMERIC type
- {Arrays.asList(new IntType(), new FloatType()), new FloatType()},
+ // one APPROXIMATE_NUMERIC and one EXACT_NUMERIC type
+ of(Arrays.asList(new IntType(), new FloatType()), new FloatType()),
- // two APPROXIMATE_NUMERIC and one DECIMAL type
- {
+ // two APPROXIMATE_NUMERIC and one DECIMAL type
+ of(
Arrays.asList(new DecimalType(2, 2), new DoubleType(), new FloatType()),
- new DoubleType()
- },
+ new DoubleType()),
- // DECIMAL precision and scale merging
- {
+ // DECIMAL precision and scale merging
+ of(
Arrays.asList(
new DecimalType(2, 2),
new DecimalType(5, 2),
new DecimalType(7, 5)),
- new DecimalType(8, 5)
- },
+ new DecimalType(8, 5)),
- // DECIMAL precision and scale merging with other EXACT_NUMERIC types
- {
+ // DECIMAL precision and scale merging with other EXACT_NUMERIC types
+ of(
Arrays.asList(new DecimalType(2, 2), new IntType(), new BigIntType()),
- new DecimalType(21, 2)
- },
+ new DecimalType(21, 2)),
- // unsupported time merging
- {Arrays.asList(new DateType(), new DateType(), new TimeType()), null},
+ // unsupported time merging
+ of(Arrays.asList(new DateType(), new DateType(), new TimeType()), null),
- // time precision merging
- {
+ // time precision merging
+ of(
Arrays.asList(new TimeType(3), new TimeType(5), new TimeType(2)),
- new TimeType(5)
- },
+ new TimeType(5)),
- // timestamp precision merging
- {
+ // timestamp precision merging
+ of(
Arrays.asList(
new TimestampType(3), new TimestampType(5), new TimestampType(2)),
- new TimestampType(5)
- },
+ new TimestampType(5)),
- // timestamp merging
- {
+ // timestamp merging
+ of(
Arrays.asList(
new TimestampType(3),
new ZonedTimestampType(5),
new LocalZonedTimestampType(2)),
- new ZonedTimestampType(5)
- },
+ new ZonedTimestampType(5)),
- // timestamp merging
- {
+ // timestamp merging
+ of(
Arrays.asList(new TimestampType(3), new LocalZonedTimestampType(2)),
- new LocalZonedTimestampType(3)
- },
+ new LocalZonedTimestampType(3)),
- // day-time interval + DATETIME
- {
+ // day-time interval + DATETIME
+ of(
Arrays.asList(
new DayTimeIntervalType(DayTimeResolution.DAY), new DateType()),
- new DateType()
- },
+ new DateType()),
- // year-month interval + DATETIME
- {
+ // year-month interval + DATETIME
+ of(
Arrays.asList(
new YearMonthIntervalType(YearMonthResolution.MONTH),
new DateType()),
- new DateType()
- },
+ new DateType()),
- // DATETIME + INTERVAL
- {
+ // DATETIME + INTERVAL
+ of(
Arrays.asList(
new TimeType(), new DayTimeIntervalType(DayTimeResolution.MINUTE)),
- new TimeType()
- },
+ new TimeType()),
- // DATETIME + INTERVAL
- {
+ // DATETIME + INTERVAL
+ of(
Arrays.asList(
new DateType(), new DayTimeIntervalType(DayTimeResolution.DAY)),
- new DateType()
- },
+ new DateType()),
- // EXACT_NUMERIC + DATE
- {Arrays.asList(new IntType(), new DateType()), new DateType()},
+ // EXACT_NUMERIC + DATE
+ of(Arrays.asList(new IntType(), new DateType()), new DateType()),
- // TIME + EXACT_NUMERIC
- {Arrays.asList(new TimeType(), new DecimalType()), null},
+ // TIME + EXACT_NUMERIC
+ of(Arrays.asList(new TimeType(), new DecimalType()), null),
- // TIMESTAMP + EXACT_NUMERIC
- {Arrays.asList(new TimestampType(), new DecimalType()), new TimestampType()},
+ // TIMESTAMP + EXACT_NUMERIC
+ of(Arrays.asList(new TimestampType(), new DecimalType()), new TimestampType()),
- // day-time intervals
- {
+ // day-time intervals
+ of(
Arrays.asList(
new DayTimeIntervalType(DayTimeResolution.DAY_TO_MINUTE),
new DayTimeIntervalType(DayTimeResolution.SECOND)),
- new DayTimeIntervalType(DayTimeResolution.DAY_TO_SECOND)
- },
+ new DayTimeIntervalType(DayTimeResolution.DAY_TO_SECOND)),
- // day-time intervals
- {
+ // day-time intervals
+ of(
Arrays.asList(
new DayTimeIntervalType(DayTimeResolution.HOUR),
new DayTimeIntervalType(
@@ -282,26 +257,19 @@ public class LogicalCommonTypeTest {
new DayTimeIntervalType(
DayTimeResolution.HOUR_TO_SECOND,
DayTimeIntervalType.DEFAULT_DAY_PRECISION,
- 6)
- },
+ 6)),
- // year-month intervals
- {
+ // year-month intervals
+ of(
Arrays.asList(
new YearMonthIntervalType(YearMonthResolution.MONTH),
new YearMonthIntervalType(YearMonthResolution.YEAR)),
- new YearMonthIntervalType(YearMonthResolution.YEAR_TO_MONTH)
- }
- });
+ new YearMonthIntervalType(YearMonthResolution.YEAR_TO_MONTH)));
}
- @Parameter public List<LogicalType> types;
-
- @Parameter(1)
- public @Nullable LogicalType commonType;
-
- @Test
- public void testCommonType() {
+ @ParameterizedTest(name = "{index}: [Types: {0}, To: {1}]")
+ @MethodSource("testData")
+ void testCommonType(List<LogicalType> types, @Nullable LogicalType commonType) {
if (commonType == null) {
assertThat(LogicalTypeMerging.findCommonType(types)).isEmpty();
} else {
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeCastAvoidanceTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeCastAvoidanceTest.java
index b60501aa1ab..27a050c5f90 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeCastAvoidanceTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeCastAvoidanceTest.java
@@ -50,91 +50,77 @@ import org.apache.flink.table.types.logical.YearMonthIntervalType;
import org.apache.flink.table.types.logical.ZonedTimestampType;
import org.apache.flink.table.types.logical.utils.LogicalTypeCasts;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import java.util.Arrays;
-import java.util.List;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import static org.apache.flink.table.types.logical.utils.LogicalTypeCasts.supportsAvoidingCast;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.params.provider.Arguments.of;
/** Tests for {@link LogicalTypeCasts#supportsAvoidingCast(LogicalType, LogicalType)}. */
-@RunWith(Parameterized.class)
-public class LogicalTypeCastAvoidanceTest {
+class LogicalTypeCastAvoidanceTest {
- @Parameters(name = "{index}: [{0} COMPATIBLE {1} => {2}")
- public static List<Object[]> testData() {
- return Arrays.asList(
- new Object[][] {
- {new CharType(), new CharType(5), false},
- {new VarCharType(30), new VarCharType(10), false},
- {new VarCharType(10), new VarCharType(30), true},
- {new CharType(10), new VarCharType(30), true},
- {new BinaryType(10), new VarBinaryType(30), true},
- {new CharType(false, 10), new VarCharType(30), true},
- {new BinaryType(false, 10), new VarBinaryType(30), true},
- {new VarCharType(30), new CharType(10), false},
- {new VarBinaryType(30), new BinaryType(10), false},
- {new BooleanType(), new BooleanType(false), false},
- {new BinaryType(10), new BinaryType(30), false},
- {new VarBinaryType(10), new VarBinaryType(30), true},
- {new VarBinaryType(30), new VarBinaryType(10), false},
- {new DecimalType(), new DecimalType(10, 2), false},
- {new TinyIntType(), new TinyIntType(false), false},
- {new SmallIntType(), new SmallIntType(false), false},
- {new IntType(), new IntType(false), false},
- {new IntType(false), new IntType(), true},
- {new BigIntType(), new BigIntType(false), false},
- {new FloatType(), new FloatType(false), false},
- {new DoubleType(), new DoubleType(false), false},
- {new DateType(), new DateType(false), false},
- {new TimeType(), new TimeType(9), false},
- {new TimestampType(9), new TimestampType(3), false},
- {new ZonedTimestampType(9), new ZonedTimestampType(3), false},
- {
+ private static Stream<Arguments> testData() {
+ return Stream.of(
+ of(new CharType(), new CharType(5), false),
+ of(new VarCharType(30), new VarCharType(10), false),
+ of(new VarCharType(10), new VarCharType(30), true),
+ of(new CharType(10), new VarCharType(30), true),
+ of(new BinaryType(10), new VarBinaryType(30), true),
+ of(new CharType(false, 10), new VarCharType(30), true),
+ of(new BinaryType(false, 10), new VarBinaryType(30), true),
+ of(new VarCharType(30), new CharType(10), false),
+ of(new VarBinaryType(30), new BinaryType(10), false),
+ of(new BooleanType(), new BooleanType(false), false),
+ of(new BinaryType(10), new BinaryType(30), false),
+ of(new VarBinaryType(10), new VarBinaryType(30), true),
+ of(new VarBinaryType(30), new VarBinaryType(10), false),
+ of(new DecimalType(), new DecimalType(10, 2), false),
+ of(new TinyIntType(), new TinyIntType(false), false),
+ of(new SmallIntType(), new SmallIntType(false), false),
+ of(new IntType(), new IntType(false), false),
+ of(new IntType(false), new IntType(), true),
+ of(new BigIntType(), new BigIntType(false), false),
+ of(new FloatType(), new FloatType(false), false),
+ of(new DoubleType(), new DoubleType(false), false),
+ of(new DateType(), new DateType(false), false),
+ of(new TimeType(), new TimeType(9), false),
+ of(new TimestampType(9), new TimestampType(3), false),
+ of(new ZonedTimestampType(9), new ZonedTimestampType(3), false),
+ of(
new ZonedTimestampType(false, TimestampKind.ROWTIME, 9),
new ZonedTimestampType(3),
- false
- },
- {
+ false),
+ of(
new YearMonthIntervalType(
YearMonthIntervalType.YearMonthResolution.YEAR_TO_MONTH, 2),
new YearMonthIntervalType(YearMonthIntervalType.YearMonthResolution.MONTH),
- false
- },
- {
+ false),
+ of(
new DayTimeIntervalType(
DayTimeIntervalType.DayTimeResolution.DAY_TO_SECOND, 2, 6),
new DayTimeIntervalType(
DayTimeIntervalType.DayTimeResolution.DAY_TO_SECOND, 2, 7),
- false
- },
- {
- new ArrayType(new TimestampType()),
- new ArrayType(new SmallIntType()),
- false,
- },
- {
+ false),
+ of(new ArrayType(new TimestampType()), new ArrayType(new SmallIntType()), false),
+ of(
new MultisetType(new TimestampType()),
new MultisetType(new SmallIntType()),
- false
- },
- {
+ false),
+ of(
new MapType(new VarCharType(10), new TimestampType()),
new MapType(new VarCharType(30), new TimestampType()),
- true
- },
- {
+ true),
+ of(
new MapType(new VarCharType(30), new TimestampType()),
new MapType(new VarCharType(10), new TimestampType()),
- false
- },
- {
+ false),
+ of(
new RowType(
Arrays.asList(
new RowType.RowField("a", new VarCharType()),
@@ -148,9 +134,8 @@ public class LogicalTypeCastAvoidanceTest {
new RowType.RowField("_c", new VarCharType()),
new RowType.RowField("_d", new TimestampType()))),
// field name doesn't matter
- true
- },
- {
+ true),
+ of(
new RowType(
Arrays.asList(
new RowField("f1", new IntType()),
@@ -159,9 +144,8 @@ public class LogicalTypeCastAvoidanceTest {
Arrays.asList(
new RowField("f1", new IntType()),
new RowField("f2", new BooleanType()))),
- false
- },
- {
+ false),
+ of(
new ArrayType(
new RowType(
Arrays.asList(
@@ -172,9 +156,8 @@ public class LogicalTypeCastAvoidanceTest {
Arrays.asList(
new RowField("f3", new IntType()),
new RowField("f4", new IntType())))),
- true
- },
- {
+ true),
+ of(
new MapType(
new IntType(),
new RowType(
@@ -187,9 +170,8 @@ public class LogicalTypeCastAvoidanceTest {
Arrays.asList(
new RowField("f3", new IntType()),
new RowField("f4", new IntType())))),
- true
- },
- {
+ true),
+ of(
new MultisetType(
new RowType(
Arrays.asList(
@@ -200,58 +182,48 @@ public class LogicalTypeCastAvoidanceTest {
Arrays.asList(
new RowField("f1", new IntType()),
new RowField("f2", new IntType())))),
- true
- },
- {
+ true),
+ of(
new TypeInformationRawType<>(Types.GENERIC(LogicalTypesTest.class)),
new TypeInformationRawType<>(Types.GENERIC(Object.class)),
- false
- },
- {
+ false),
+ of(
createUserType("User", new IntType(), new VarCharType()),
createUserType("User", new IntType(), new VarCharType()),
- true
- },
- {
+ true),
+ of(
createUserType("User", new IntType(), new VarCharType()),
createUserType("User2", new IntType(), new VarCharType()),
- false
- },
- {
+ false),
+ of(
createDistinctType("Money", new DecimalType(10, 2)),
createDistinctType("Money", new DecimalType(10, 2)),
- true
- },
- {
+ true),
+ of(
createDistinctType("Money", new DecimalType(10, 2)),
createDistinctType("Money2", new DecimalType(10, 2)),
- true
- },
+ true),
- // row and structured type
- {
+ // row and structured type
+ of(
RowType.of(new IntType(), new VarCharType()),
createUserType("User2", new IntType(), new VarCharType()),
- true
- },
- {
+ true),
+ of(
RowType.of(new BigIntType(), new VarCharType()),
createUserType("User2", new IntType(), new VarCharType()),
- false
- },
- {
+ false),
+ of(
createUserType("User2", new IntType(), new VarCharType()),
RowType.of(new IntType(), new VarCharType()),
- true
- },
- {
+ true),
+ of(
createUserType("User2", new IntType(), new VarCharType()),
RowType.of(new BigIntType(), new VarCharType()),
- false
- },
+ false),
- // test slightly different children of anonymous structured types
- {
+ // test slightly different children of anonymous structured types
+ of(
StructuredType.newBuilder(Void.class)
.attributes(
Arrays.asList(
@@ -268,9 +240,8 @@ public class LogicalTypeCastAvoidanceTest {
new StructuredType.StructuredAttribute(
"diff", new TinyIntType(true))))
.build(),
- true
- },
- {
+ true),
+ of(
StructuredType.newBuilder(Void.class)
.attributes(
Arrays.asList(
@@ -287,21 +258,12 @@ public class LogicalTypeCastAvoidanceTest {
new StructuredType.StructuredAttribute(
"diff", new TinyIntType(false))))
.build(),
- false
- }
- });
+ false));
}
- @Parameter public LogicalType sourceType;
-
- @Parameter(1)
- public LogicalType targetType;
-
- @Parameter(2)
- public boolean equals;
-
- @Test
- public void testSupportsAvoidingCast() {
+ @ParameterizedTest(name = "{index}: [{0} COMPATIBLE {1} => {2}")
+ @MethodSource("testData")
+ void testSupportsAvoidingCast(LogicalType sourceType, LogicalType targetType, boolean equals) {
assertThat(supportsAvoidingCast(sourceType, targetType)).isEqualTo(equals);
assertThat(supportsAvoidingCast(sourceType, sourceType.copy())).isTrue();
assertThat(supportsAvoidingCast(targetType, targetType.copy())).isTrue();
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeCastsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeCastsTest.java
index aa18be73c2f..1106bdf50b4 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeCastsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeCastsTest.java
@@ -59,7 +59,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@Execution(ExecutionMode.CONCURRENT)
class LogicalTypeCastsTest {
- public static Stream<Arguments> testData() {
+ private static Stream<Arguments> testData() {
return Stream.of(
Arguments.of(new SmallIntType(), new BigIntType(), true, true),
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeDuplicatorTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeDuplicatorTest.java
index 93aff7c2df4..7862817d8b9 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeDuplicatorTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeDuplicatorTest.java
@@ -34,53 +34,46 @@ import org.apache.flink.table.types.logical.StructuredType;
import org.apache.flink.table.types.logical.VarCharType;
import org.apache.flink.table.types.logical.utils.LogicalTypeDuplicator;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import java.util.Arrays;
import java.util.Collections;
-import java.util.List;
+import java.util.stream.Stream;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link LogicalTypeDuplicator}. */
-@RunWith(Parameterized.class)
-public class LogicalTypeDuplicatorTest {
+class LogicalTypeDuplicatorTest {
private static final LogicalTypeDuplicator DUPLICATOR = new LogicalTypeDuplicator();
private static final LogicalTypeDuplicator INT_REPLACER = new IntReplacer();
- @Parameters(name = "{index}: {0}")
- public static List<Object[]> testData() {
- return Arrays.asList(
- new Object[][] {
- {new CharType(2), new CharType(2)},
- {createMultisetType(new IntType()), createMultisetType(new BigIntType())},
- {createArrayType(new IntType()), createArrayType(new BigIntType())},
- {createMapType(new IntType()), createMapType(new BigIntType())},
- {createRowType(new IntType()), createRowType(new BigIntType())},
- {createDistinctType(new IntType()), createDistinctType(new BigIntType())},
- {createUserType(new IntType()), createUserType(new BigIntType())},
- {createHumanType(), createHumanType()}
- });
+ private static Stream<Arguments> testData() {
+ return Stream.of(
+ Arguments.of(new CharType(2), new CharType(2)),
+ Arguments.of(
+ createMultisetType(new IntType()), createMultisetType(new BigIntType())),
+ Arguments.of(createArrayType(new IntType()), createArrayType(new BigIntType())),
+ Arguments.of(createMapType(new IntType()), createMapType(new BigIntType())),
+ Arguments.of(createRowType(new IntType()), createRowType(new BigIntType())),
+ Arguments.of(
+ createDistinctType(new IntType()), createDistinctType(new BigIntType())),
+ Arguments.of(createUserType(new IntType()), createUserType(new BigIntType())),
+ Arguments.of(createHumanType(), createHumanType()));
}
- @Parameter public LogicalType logicalType;
-
- @Parameter(1)
- public LogicalType replacedLogicalType;
-
- @Test
- public void testDuplication() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testDuplication(LogicalType logicalType, LogicalType replacedLogicalType) {
assertThat(logicalType.accept(DUPLICATOR)).isEqualTo(logicalType);
}
- @Test
- public void testReplacement() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testReplacement(LogicalType logicalType, LogicalType replacedLogicalType) {
assertThat(logicalType.accept(INT_REPLACER)).isEqualTo(replacedLogicalType);
}
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeParserTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeParserTest.java
index e51055cfbd1..c505cd3a03f 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeParserTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypeParserTest.java
@@ -59,29 +59,24 @@ import org.apache.flink.table.types.logical.ZonedTimestampType;
import org.apache.flink.table.types.logical.utils.LogicalTypeParser;
import org.apache.flink.table.types.utils.TypeConversions;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import javax.annotation.Nullable;
import java.util.Arrays;
import java.util.Collections;
-import java.util.List;
+import java.util.stream.Stream;
import static org.apache.flink.table.types.logical.LogicalTypeRoot.UNRESOLVED;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link LogicalTypeParser}. */
-@RunWith(Parameterized.class)
public class LogicalTypeParserTest {
- @Parameters(name = "{index}: [From: {0}, To: {1}]")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ private static Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forString("CHAR").expectType(new CharType()),
TestSpec.forString("CHAR NOT NULL").expectType(new CharType().copy(false)),
TestSpec.forString("CHAR NOT \t\nNULL").expectType(new CharType().copy(false)),
@@ -260,18 +255,18 @@ public class LogicalTypeParserTest {
.expectErrorMessage("Unable to restore the RAW type"));
}
- @Parameter public TestSpec testSpec;
-
- @Test
- public void testParsing() {
+ @ParameterizedTest(name = "{index}: [From: {0}, To: {1}]")
+ @MethodSource("testData")
+ void testParsing(TestSpec testSpec) {
if (testSpec.expectedType != null) {
assertThat(LogicalTypeParser.parse(testSpec.typeString))
.isEqualTo(testSpec.expectedType);
}
}
- @Test
- public void testSerializableParsing() {
+ @ParameterizedTest(name = "{index}: [From: {0}, To: {1}]")
+ @MethodSource("testData")
+ void testSerializableParsing(TestSpec testSpec) {
if (testSpec.expectedType != null) {
if (!testSpec.expectedType.is(UNRESOLVED)
&& testSpec.expectedType.getChildren().stream()
@@ -282,8 +277,9 @@ public class LogicalTypeParserTest {
}
}
- @Test
- public void testErrorMessage() {
+ @ParameterizedTest(name = "{index}: [From: {0}, To: {1}]")
+ @MethodSource("testData")
+ void testErrorMessage(TestSpec testSpec) {
if (testSpec.expectedErrorMessage != null) {
assertThatThrownBy(() -> LogicalTypeParser.parse(testSpec.typeString))
.isInstanceOf(ValidationException.class)
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypesTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypesTest.java
index 9af21895524..6b5c771952f 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypesTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/LogicalTypesTest.java
@@ -62,7 +62,7 @@ import org.apache.flink.table.types.logical.ZonedTimestampType;
import org.apache.flink.types.Row;
import org.assertj.core.api.ThrowingConsumer;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@@ -82,7 +82,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
public class LogicalTypesTest {
@Test
- public void testCharType() {
+ void testCharType() {
assertThat(new CharType(33))
.satisfies(
baseAssertions(
@@ -95,7 +95,7 @@ public class LogicalTypesTest {
}
@Test
- public void testVarCharType() {
+ void testVarCharType() {
assertThat(new VarCharType(33))
.satisfies(
baseAssertions(
@@ -108,7 +108,7 @@ public class LogicalTypesTest {
}
@Test
- public void testVarCharTypeWithMaximumLength() {
+ void testVarCharTypeWithMaximumLength() {
assertThat(new VarCharType(Integer.MAX_VALUE))
.satisfies(
baseAssertions(
@@ -121,7 +121,7 @@ public class LogicalTypesTest {
}
@Test
- public void testBooleanType() {
+ void testBooleanType() {
assertThat(new BooleanType())
.satisfies(
baseAssertions(
@@ -134,7 +134,7 @@ public class LogicalTypesTest {
}
@Test
- public void testBinaryType() {
+ void testBinaryType() {
assertThat(new BinaryType(22))
.satisfies(
baseAssertions(
@@ -147,7 +147,7 @@ public class LogicalTypesTest {
}
@Test
- public void testVarBinaryType() {
+ void testVarBinaryType() {
assertThat(new VarBinaryType(22))
.satisfies(
baseAssertions(
@@ -160,7 +160,7 @@ public class LogicalTypesTest {
}
@Test
- public void testVarBinaryTypeWithMaximumLength() {
+ void testVarBinaryTypeWithMaximumLength() {
assertThat(new VarBinaryType(Integer.MAX_VALUE))
.satisfies(
baseAssertions(
@@ -173,7 +173,7 @@ public class LogicalTypesTest {
}
@Test
- public void testDecimalType() {
+ void testDecimalType() {
assertThat(new DecimalType(10, 2))
.satisfies(
baseAssertions(
@@ -186,7 +186,7 @@ public class LogicalTypesTest {
}
@Test
- public void testTinyIntType() {
+ void testTinyIntType() {
assertThat(new TinyIntType())
.satisfies(
baseAssertions(
@@ -199,7 +199,7 @@ public class LogicalTypesTest {
}
@Test
- public void testSmallIntType() {
+ void testSmallIntType() {
assertThat(new SmallIntType())
.satisfies(
baseAssertions(
@@ -212,7 +212,7 @@ public class LogicalTypesTest {
}
@Test
- public void testIntType() {
+ void testIntType() {
assertThat(new IntType())
.satisfies(
baseAssertions(
@@ -225,7 +225,7 @@ public class LogicalTypesTest {
}
@Test
- public void testBigIntType() {
+ void testBigIntType() {
assertThat(new BigIntType())
.satisfies(
baseAssertions(
@@ -238,7 +238,7 @@ public class LogicalTypesTest {
}
@Test
- public void testFloatType() {
+ void testFloatType() {
assertThat(new FloatType())
.satisfies(
baseAssertions(
@@ -251,7 +251,7 @@ public class LogicalTypesTest {
}
@Test
- public void testDoubleType() {
+ void testDoubleType() {
assertThat(new DoubleType())
.satisfies(
baseAssertions(
@@ -264,7 +264,7 @@ public class LogicalTypesTest {
}
@Test
- public void testDateType() {
+ void testDateType() {
assertThat(new DateType())
.satisfies(
baseAssertions(
@@ -279,7 +279,7 @@ public class LogicalTypesTest {
}
@Test
- public void testTimeType() {
+ void testTimeType() {
assertThat(new TimeType(9))
.satisfies(
baseAssertions(
@@ -294,7 +294,7 @@ public class LogicalTypesTest {
}
@Test
- public void testTimestampType() {
+ void testTimestampType() {
assertThat(new TimestampType(9))
.satisfies(
baseAssertions(
@@ -309,7 +309,7 @@ public class LogicalTypesTest {
}
@Test
- public void testTimestampTypeWithTimeAttribute() {
+ void testTimestampTypeWithTimeAttribute() {
assertThat(new TimestampType(true, TimestampKind.ROWTIME, 9))
.satisfies(
baseAssertions(
@@ -324,7 +324,7 @@ public class LogicalTypesTest {
}
@Test
- public void testZonedTimestampType() {
+ void testZonedTimestampType() {
assertThat(new ZonedTimestampType(9))
.satisfies(
baseAssertions(
@@ -339,7 +339,7 @@ public class LogicalTypesTest {
}
@Test
- public void testZonedTimestampTypeWithTimeAttribute() {
+ void testZonedTimestampTypeWithTimeAttribute() {
assertThat(new ZonedTimestampType(true, TimestampKind.ROWTIME, 9))
.satisfies(
baseAssertions(
@@ -354,7 +354,7 @@ public class LogicalTypesTest {
}
@Test
- public void testLocalZonedTimestampType() {
+ void testLocalZonedTimestampType() {
assertThat(new LocalZonedTimestampType(9))
.satisfies(
baseAssertions(
@@ -367,7 +367,7 @@ public class LogicalTypesTest {
}
@Test
- public void testLocalZonedTimestampTypeWithTimeAttribute() {
+ void testLocalZonedTimestampTypeWithTimeAttribute() {
assertThat(new LocalZonedTimestampType(true, TimestampKind.ROWTIME, 9))
.satisfies(
baseAssertions(
@@ -380,7 +380,7 @@ public class LogicalTypesTest {
}
@Test
- public void testYearMonthIntervalType() {
+ void testYearMonthIntervalType() {
assertThat(
new YearMonthIntervalType(
YearMonthIntervalType.YearMonthResolution.YEAR_TO_MONTH, 2))
@@ -396,7 +396,7 @@ public class LogicalTypesTest {
}
@Test
- public void testDayTimeIntervalType() {
+ void testDayTimeIntervalType() {
assertThat(
new DayTimeIntervalType(
DayTimeIntervalType.DayTimeResolution.DAY_TO_SECOND, 2, 6))
@@ -414,7 +414,7 @@ public class LogicalTypesTest {
}
@Test
- public void testArrayType() {
+ void testArrayType() {
assertThat(new ArrayType(new TimestampType()))
.satisfies(
baseAssertions(
@@ -455,7 +455,7 @@ public class LogicalTypesTest {
}
@Test
- public void testMultisetType() {
+ void testMultisetType() {
assertThat(new MultisetType(new TimestampType()))
.satisfies(
baseAssertions(
@@ -478,7 +478,7 @@ public class LogicalTypesTest {
}
@Test
- public void testMapType() {
+ void testMapType() {
assertThat(new MapType(new VarCharType(20), new TimestampType()))
.satisfies(
baseAssertions(
@@ -491,7 +491,7 @@ public class LogicalTypesTest {
}
@Test
- public void testRowType() {
+ void testRowType() {
assertThat(
new RowType(
Arrays.asList(
@@ -530,7 +530,7 @@ public class LogicalTypesTest {
}
@Test
- public void testDistinctType() {
+ void testDistinctType() {
assertThat(createDistinctType("Money"))
.satisfies(
baseAssertions(
@@ -543,7 +543,7 @@ public class LogicalTypesTest {
}
@Test
- public void testStructuredType() {
+ void testStructuredType() {
assertThat(createUserType(true, true))
.satisfies(
baseAssertions(
@@ -572,7 +572,7 @@ public class LogicalTypesTest {
}
@Test
- public void testNullType() {
+ void testNullType() {
assertThat(new NullType())
.isJavaSerializable()
.satisfies(nonEqualityCheckWithOtherType(new TimeType()))
@@ -585,7 +585,7 @@ public class LogicalTypesTest {
}
@Test
- public void testTypeInformationRawType() throws Exception {
+ void testTypeInformationRawType() throws Exception {
final TypeInformationRawType<?> rawType =
new TypeInformationRawType<>(Types.TUPLE(Types.STRING, Types.INT));
@@ -602,7 +602,7 @@ public class LogicalTypesTest {
}
@Test
- public void testRawType() {
+ void testRawType() {
final RawType<Human> rawType =
new RawType<>(
Human.class, new KryoSerializer<>(Human.class, new ExecutionConfig()));
@@ -642,7 +642,7 @@ public class LogicalTypesTest {
}
@Test
- public void testSymbolType() {
+ void testSymbolType() {
final SymbolType<?> symbolType = new SymbolType<>();
assertThat(symbolType)
@@ -657,7 +657,7 @@ public class LogicalTypesTest {
}
@Test
- public void testUnresolvedUserDefinedType() {
+ void testUnresolvedUserDefinedType() {
final UnresolvedUserDefinedType unresolvedType =
new UnresolvedUserDefinedType(
UnresolvedIdentifier.of("catalog", "database", "Type"));
@@ -671,7 +671,7 @@ public class LogicalTypesTest {
}
@Test
- public void testEmptyStringLiterals() {
+ void testEmptyStringLiterals() {
final CharType charType = CharType.ofEmptyLiteral();
final VarCharType varcharType = VarCharType.ofEmptyLiteral();
final BinaryType binaryType = BinaryType.ofEmptyLiteral();
@@ -698,7 +698,7 @@ public class LogicalTypesTest {
}
@Test
- public void testUnregisteredStructuredType() {
+ void testUnregisteredStructuredType() {
final StructuredType structuredType = createUserType(false, true);
assertThat(structuredType)
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/TypeInfoDataTypeConverterTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/TypeInfoDataTypeConverterTest.java
index 8eedd97d215..75624d4dcf2 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/TypeInfoDataTypeConverterTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/TypeInfoDataTypeConverterTest.java
@@ -28,27 +28,21 @@ import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.types.utils.DataTypeFactoryMock;
import org.apache.flink.table.types.utils.TypeInfoDataTypeConverter;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import java.time.DayOfWeek;
-import java.util.Arrays;
-import java.util.List;
import java.util.Optional;
+import java.util.stream.Stream;
import static org.apache.flink.table.types.utils.DataTypeFactoryMock.dummyRaw;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link TypeInfoDataTypeConverter}. */
-@RunWith(Parameterized.class)
-public class TypeInfoDataTypeConverterTest {
+class TypeInfoDataTypeConverterTest {
- @Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ private static Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forType(Types.INT).expectDataType(DataTypes.INT().notNull()),
TestSpec.forType(Types.BIG_DEC)
.expectDataType(DataTypes.DECIMAL(38, 18).nullable()),
@@ -118,10 +112,9 @@ public class TypeInfoDataTypeConverterTest {
.expectDataType(dummyRaw(DayOfWeek.class)));
}
- @Parameter public TestSpec testSpec;
-
- @Test
- public void testConversion() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testConversion(TestSpec testSpec) {
assertThat(TypeInfoDataTypeConverter.toDataType(testSpec.typeFactory, testSpec.typeInfo))
.isEqualTo(testSpec.expectedDataType);
}
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/ValueDataTypeConverterTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/ValueDataTypeConverterTest.java
index 2b9da5125ec..8d13224258b 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/ValueDataTypeConverterTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/ValueDataTypeConverterTest.java
@@ -25,11 +25,9 @@ import org.apache.flink.table.types.logical.CharType;
import org.apache.flink.table.types.logical.SymbolType;
import org.apache.flink.table.types.utils.ValueDataTypeConverter;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import javax.annotation.Nullable;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import java.math.BigDecimal;
import java.sql.Timestamp;
@@ -42,99 +40,78 @@ import java.time.Period;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.params.provider.Arguments.of;
/** Tests for {@link ValueDataTypeConverter}. */
-@RunWith(Parameterized.class)
-public class ValueDataTypeConverterTest {
+class ValueDataTypeConverterTest {
- @Parameterized.Parameters(name = "[{index}] value: {0} type: {1}")
- public static List<Object[]> testData() {
- return Arrays.asList(
- new Object[][] {
- {"Hello World", DataTypes.CHAR(11)},
- {"", new AtomicDataType(CharType.ofEmptyLiteral())},
- {new byte[] {1, 2, 3}, DataTypes.BINARY(3)},
- {new byte[0], new AtomicDataType(BinaryType.ofEmptyLiteral())},
- {BigDecimal.ZERO, DataTypes.DECIMAL(1, 0)},
- {new BigDecimal("12.123"), DataTypes.DECIMAL(5, 3)},
- {new BigDecimal("1E+36"), DataTypes.DECIMAL(37, 0)},
- {12, DataTypes.INT()},
- {LocalTime.of(13, 24, 25, 1000), DataTypes.TIME(6)},
- {LocalTime.of(13, 24, 25, 0), DataTypes.TIME(0)},
- {LocalTime.of(13, 24, 25, 1), DataTypes.TIME(9)},
- {LocalTime.of(13, 24, 25, 999_999_999), DataTypes.TIME(9)},
- {LocalDateTime.of(2019, 11, 11, 13, 24, 25, 1001), DataTypes.TIMESTAMP(9)},
- {
+ private static Stream<Arguments> testData() {
+ return Stream.of(
+ of("Hello World", DataTypes.CHAR(11)),
+ of("", new AtomicDataType(CharType.ofEmptyLiteral())),
+ of(new byte[] {1, 2, 3}, DataTypes.BINARY(3)),
+ of(new byte[0], new AtomicDataType(BinaryType.ofEmptyLiteral())),
+ of(BigDecimal.ZERO, DataTypes.DECIMAL(1, 0)),
+ of(new BigDecimal("12.123"), DataTypes.DECIMAL(5, 3)),
+ of(new BigDecimal("1E+36"), DataTypes.DECIMAL(37, 0)),
+ of(12, DataTypes.INT()),
+ of(LocalTime.of(13, 24, 25, 1000), DataTypes.TIME(6)),
+ of(LocalTime.of(13, 24, 25, 0), DataTypes.TIME(0)),
+ of(LocalTime.of(13, 24, 25, 1), DataTypes.TIME(9)),
+ of(LocalTime.of(13, 24, 25, 999_999_999), DataTypes.TIME(9)),
+ of(LocalDateTime.of(2019, 11, 11, 13, 24, 25, 1001), DataTypes.TIMESTAMP(9)),
+ of(
ZonedDateTime.of(2019, 11, 11, 13, 24, 25, 1001, ZoneId.systemDefault()),
- DataTypes.TIMESTAMP_WITH_TIME_ZONE(9).bridgedTo(ZonedDateTime.class)
- },
- {
+ DataTypes.TIMESTAMP_WITH_TIME_ZONE(9).bridgedTo(ZonedDateTime.class)),
+ of(
OffsetDateTime.of(2019, 11, 11, 13, 24, 25, 1001, ZoneOffset.UTC),
- DataTypes.TIMESTAMP_WITH_TIME_ZONE(9).bridgedTo(OffsetDateTime.class)
- },
- {
+ DataTypes.TIMESTAMP_WITH_TIME_ZONE(9).bridgedTo(OffsetDateTime.class)),
+ of(
Instant.ofEpochMilli(12345602021L),
- DataTypes.TIMESTAMP_WITH_LOCAL_TIME_ZONE(3).bridgedTo(Instant.class)
- },
- {
+ DataTypes.TIMESTAMP_WITH_LOCAL_TIME_ZONE(3).bridgedTo(Instant.class)),
+ of(
Period.ofYears(1000),
DataTypes.INTERVAL(DataTypes.YEAR(4), DataTypes.MONTH())
- .bridgedTo(Period.class)
- },
- {
+ .bridgedTo(Period.class)),
+ of(
Duration.ofMillis(1100),
DataTypes.INTERVAL(DataTypes.DAY(1), DataTypes.SECOND(1))
- .bridgedTo(Duration.class)
- },
- {
+ .bridgedTo(Duration.class)),
+ of(
Duration.ofDays(42),
DataTypes.INTERVAL(DataTypes.DAY(2), DataTypes.SECOND(0))
- .bridgedTo(Duration.class)
- },
- {
+ .bridgedTo(Duration.class)),
+ of(
Timestamp.valueOf("2018-01-01 12:13:14.123"),
- DataTypes.TIMESTAMP(3).bridgedTo(java.sql.Timestamp.class)
- },
- {new Integer[] {1, 2, 3}, DataTypes.ARRAY(DataTypes.INT())},
- {new Integer[] {1, null, 3}, DataTypes.ARRAY(DataTypes.INT())},
- {
+ DataTypes.TIMESTAMP(3).bridgedTo(java.sql.Timestamp.class)),
+ of(new Integer[] {1, 2, 3}, DataTypes.ARRAY(DataTypes.INT())),
+ of(new Integer[] {1, null, 3}, DataTypes.ARRAY(DataTypes.INT())),
+ of(
new BigDecimal[] {
new BigDecimal("12.1234"),
new BigDecimal("42.4321"),
new BigDecimal("20.0000")
},
- DataTypes.ARRAY(DataTypes.DECIMAL(6, 4))
- },
- {
+ DataTypes.ARRAY(DataTypes.DECIMAL(6, 4))),
+ of(
new BigDecimal[] {null, new BigDecimal("42.4321")},
- DataTypes.ARRAY(DataTypes.DECIMAL(6, 4))
- },
- {new Integer[0], DataTypes.ARRAY(DataTypes.INT())},
- {
+ DataTypes.ARRAY(DataTypes.DECIMAL(6, 4))),
+ of(new Integer[0], DataTypes.ARRAY(DataTypes.INT())),
+ of(
new Integer[][] {
new Integer[] {1, null, 3}, new Integer[0], new Integer[] {1}
},
- DataTypes.ARRAY(DataTypes.ARRAY(DataTypes.INT()))
- },
- {
- TimePointUnit.HOUR,
- new AtomicDataType(new SymbolType<>(), TimePointUnit.class)
- },
- {new BigDecimal[0], null}
- });
+ DataTypes.ARRAY(DataTypes.ARRAY(DataTypes.INT()))),
+ of(TimePointUnit.HOUR, new AtomicDataType(new SymbolType<>(), TimePointUnit.class)),
+ of(new BigDecimal[0], null));
}
- @Parameterized.Parameter public Object value;
-
- @Parameterized.Parameter(1)
- public @Nullable DataType dataType;
-
- @Test
- public void testClassToDataTypeConversion() {
+ @ParameterizedTest(name = "[{index}] value: {0} type: {1}")
+ @MethodSource("testData")
+ void testClassToDataTypeConversion(Object value, DataType dataType) {
if (dataType == null) {
assertThat(ValueDataTypeConverter.extractDataType(value)).isEmpty();
} else {
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/extraction/DataTypeExtractorTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/extraction/DataTypeExtractorTest.java
index 591ca0fcf76..24d21fd767e 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/extraction/DataTypeExtractorTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/extraction/DataTypeExtractorTest.java
@@ -45,11 +45,8 @@ import org.apache.flink.table.types.utils.DataTypeFactoryMock;
import org.apache.flink.types.Row;
import org.hamcrest.Matcher;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import javax.annotation.Nullable;
@@ -63,6 +60,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
+import java.util.stream.Stream;
import static org.apache.flink.core.testutils.FlinkAssertions.anyCauseMatches;
import static org.apache.flink.core.testutils.FlinkMatchers.containsCause;
@@ -71,14 +69,12 @@ import static org.apache.flink.table.types.utils.DataTypeFactoryMock.dummyRaw;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link DataTypeExtractor}. */
-@RunWith(Parameterized.class)
@SuppressWarnings("unused")
-public class DataTypeExtractorTest {
+class DataTypeExtractorTest {
@SuppressWarnings({"unchecked", "rawtypes"})
- @Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ private static Stream<TestSpec> testData() {
+ return Stream.of(
// simple extraction of INT
TestSpec.forType(Integer.class).expectDataType(DataTypes.INT()),
@@ -474,10 +470,9 @@ public class DataTypeExtractorTest {
DataTypes.FIELD("string_field", DataTypes.STRING()))));
}
- @Parameter public TestSpec testSpec;
-
- @Test
- public void testExtraction() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testExtraction(TestSpec testSpec) {
if (testSpec.expectedErrorMessage != null) {
assertThatThrownBy(() -> runExtraction(testSpec))
.isInstanceOf(ValidationException.class)
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/extraction/TypeInferenceExtractorTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/extraction/TypeInferenceExtractorTest.java
index 2dde2f61ad0..c3e21806f92 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/extraction/TypeInferenceExtractorTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/extraction/TypeInferenceExtractorTest.java
@@ -39,11 +39,8 @@ import org.apache.flink.table.types.inference.TypeStrategy;
import org.apache.flink.table.types.utils.DataTypeFactoryMock;
import org.apache.flink.types.Row;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import javax.annotation.Nullable;
@@ -53,18 +50,17 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
+import java.util.stream.Stream;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link TypeInferenceExtractor}. */
-@RunWith(Parameterized.class)
@SuppressWarnings("unused")
-public class TypeInferenceExtractorTest {
+class TypeInferenceExtractorTest {
- @Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ private static Stream<TestSpec> testData() {
+ return Stream.of(
// function hint defines everything
TestSpec.forScalarFunction(FullFunctionHint.class)
.expectNamedArguments("i", "s")
@@ -436,10 +432,9 @@ public class TypeInferenceExtractorTest {
.bridgedTo(RowData.class))));
}
- @Parameter public TestSpec testSpec;
-
- @Test
- public void testArgumentNames() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testArgumentNames(TestSpec testSpec) {
if (testSpec.expectedArgumentNames != null) {
assertThat(testSpec.typeInferenceExtraction.get().getNamedArguments())
.isEqualTo(Optional.of(testSpec.expectedArgumentNames));
@@ -449,8 +444,9 @@ public class TypeInferenceExtractorTest {
}
}
- @Test
- public void testArgumentTypes() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testArgumentTypes(TestSpec testSpec) {
if (testSpec.expectedArgumentTypes != null) {
assertThat(testSpec.typeInferenceExtraction.get().getTypedArguments())
.isEqualTo(Optional.of(testSpec.expectedArgumentTypes));
@@ -460,8 +456,9 @@ public class TypeInferenceExtractorTest {
}
}
- @Test
- public void testInputTypeStrategy() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testInputTypeStrategy(TestSpec testSpec) {
if (!testSpec.expectedOutputStrategies.isEmpty()) {
assertThat(testSpec.typeInferenceExtraction.get().getInputTypeStrategy())
.isEqualTo(
@@ -471,8 +468,9 @@ public class TypeInferenceExtractorTest {
}
}
- @Test
- public void testAccumulatorTypeStrategy() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testAccumulatorTypeStrategy(TestSpec testSpec) {
if (!testSpec.expectedAccumulatorStrategies.isEmpty()) {
assertThat(
testSpec.typeInferenceExtraction
@@ -485,18 +483,20 @@ public class TypeInferenceExtractorTest {
}
}
- @Test
- public void testOutputTypeStrategy() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testOutputTypeStrategy(TestSpec testSpec) {
if (!testSpec.expectedOutputStrategies.isEmpty()) {
assertThat(testSpec.typeInferenceExtraction.get().getOutputTypeStrategy())
.isEqualTo(TypeStrategies.mapping(testSpec.expectedOutputStrategies));
}
}
- @Test
- public void testErrorMessage() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testErrorMessage(TestSpec testSpec) {
if (testSpec.expectedErrorMessage != null) {
- assertThatThrownBy(() -> testSpec.typeInferenceExtraction.get())
+ assertThatThrownBy(testSpec.typeInferenceExtraction::get)
.isInstanceOf(ValidationException.class)
.satisfies(
FlinkAssertions.anyCauseMatches(
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/ComparableInputTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/ComparableInputTypeStrategyTest.java
index ae33a5b130d..4e10f34ed26 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/ComparableInputTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/ComparableInputTypeStrategyTest.java
@@ -33,24 +33,22 @@ import org.apache.flink.table.types.logical.DistinctType;
import org.apache.flink.table.types.logical.StructuredType;
import org.apache.flink.table.types.logical.StructuredType.StructuredComparison;
-import org.junit.runners.Parameterized;
-
import javax.annotation.Nonnull;
import java.lang.reflect.Field;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+import java.util.stream.Stream;
-import static java.util.Arrays.asList;
import static java.util.Collections.singletonList;
/** Tests for {@link ComparableTypeStrategy}. */
-public class ComparableInputTypeStrategyTest extends InputTypeStrategiesTestBase {
+class ComparableInputTypeStrategyTest extends InputTypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy(
"Numeric types are comparable",
InputTypeStrategies.comparable(
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/InputTypeStrategiesTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/InputTypeStrategiesTest.java
index 59b8d19fd08..b26d04bf42b 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/InputTypeStrategiesTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/InputTypeStrategiesTest.java
@@ -24,11 +24,8 @@ import org.apache.flink.table.types.inference.strategies.SpecificInputTypeStrate
import org.apache.flink.table.types.logical.LogicalTypeFamily;
import org.apache.flink.table.types.logical.LogicalTypeRoot;
-import org.junit.runners.Parameterized.Parameters;
+import java.util.stream.Stream;
-import java.util.List;
-
-import static java.util.Arrays.asList;
import static org.apache.flink.table.types.inference.InputTypeStrategies.ANY;
import static org.apache.flink.table.types.inference.InputTypeStrategies.LITERAL;
import static org.apache.flink.table.types.inference.InputTypeStrategies.LITERAL_OR_NULL;
@@ -44,11 +41,11 @@ import static org.apache.flink.table.types.inference.InputTypeStrategies.sequenc
import static org.apache.flink.table.types.inference.InputTypeStrategies.varyingSequence;
/** Tests for built-in {@link InputTypeStrategies}. */
-public class InputTypeStrategiesTest extends InputTypeStrategiesTestBase {
+class InputTypeStrategiesTest extends InputTypeStrategiesTestBase {
- @Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
// wildcard with 2 arguments
TestSpec.forStrategy(WILDCARD)
.calledWithArgumentTypes(DataTypes.INT(), DataTypes.INT())
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/InputTypeStrategiesTestBase.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/InputTypeStrategiesTestBase.java
index 527d3105496..73c9e610119 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/InputTypeStrategiesTestBase.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/InputTypeStrategiesTestBase.java
@@ -27,9 +27,9 @@ import org.apache.flink.table.types.inference.utils.CallContextMock;
import org.apache.flink.table.types.inference.utils.FunctionDefinitionMock;
import org.apache.flink.table.types.utils.DataTypeFactoryMock;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import javax.annotation.Nullable;
@@ -39,45 +39,50 @@ import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+import java.util.stream.Stream;
import static org.apache.flink.core.testutils.FlinkAssertions.anyCauseMatches;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Base class for testing {@link InputTypeStrategy}. */
-@RunWith(Parameterized.class)
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public abstract class InputTypeStrategiesTestBase {
- @Parameterized.Parameter public TestSpec testSpec;
-
- @Test
- public void testStrategy() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testStrategy(TestSpec testSpec) {
if (testSpec.expectedSignature != null) {
- assertThat(generateSignature()).isEqualTo(testSpec.expectedSignature);
+ assertThat(generateSignature(testSpec)).isEqualTo(testSpec.expectedSignature);
}
for (List<DataType> actualArgumentTypes : testSpec.actualArgumentTypes) {
if (testSpec.expectedErrorMessage != null) {
- assertThatThrownBy(() -> runTypeInference(actualArgumentTypes))
+ assertThatThrownBy(() -> runTypeInference(actualArgumentTypes, testSpec))
.satisfies(
anyCauseMatches(
ValidationException.class, testSpec.expectedErrorMessage));
} else if (testSpec.expectedArgumentTypes != null) {
- assertThat(runTypeInference(actualArgumentTypes).getExpectedArgumentTypes())
+ assertThat(
+ runTypeInference(actualArgumentTypes, testSpec)
+ .getExpectedArgumentTypes())
.isEqualTo(testSpec.expectedArgumentTypes);
}
}
}
+ protected abstract Stream<TestSpec> testData();
+
// --------------------------------------------------------------------------------------------
- private String generateSignature() {
+ private String generateSignature(TestSpec testSpec) {
final FunctionDefinitionMock functionDefinitionMock = new FunctionDefinitionMock();
functionDefinitionMock.functionKind = FunctionKind.SCALAR;
return TypeInferenceUtil.generateSignature(
- createTypeInference(), "f", functionDefinitionMock);
+ createTypeInference(testSpec), "f", functionDefinitionMock);
}
- private TypeInferenceUtil.Result runTypeInference(List<DataType> actualArgumentTypes) {
+ private TypeInferenceUtil.Result runTypeInference(
+ List<DataType> actualArgumentTypes, TestSpec testSpec) {
final FunctionDefinitionMock functionDefinitionMock = new FunctionDefinitionMock();
functionDefinitionMock.functionKind = FunctionKind.SCALAR;
@@ -123,10 +128,10 @@ public abstract class InputTypeStrategiesTestBase {
surroundingInfo = null;
}
return TypeInferenceUtil.runTypeInference(
- createTypeInference(), callContextMock, surroundingInfo);
+ createTypeInference(testSpec), callContextMock, surroundingInfo);
}
- private TypeInference createTypeInference() {
+ private TypeInference createTypeInference(TestSpec testSpec) {
final TypeInference.Builder builder =
TypeInference.newBuilder()
.inputTypeStrategy(testSpec.strategy)
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/MappingTypeStrategiesTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/MappingTypeStrategiesTest.java
index be59f1dbf78..3c0cc6c8597 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/MappingTypeStrategiesTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/MappingTypeStrategiesTest.java
@@ -20,21 +20,18 @@ package org.apache.flink.table.types.inference;
import org.apache.flink.table.api.DataTypes;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
+import java.util.stream.Stream;
import static org.apache.flink.table.types.inference.TypeStrategies.explicit;
/** Tests for {@link TypeStrategies#mapping(Map)}. */
-public class MappingTypeStrategiesTest extends TypeStrategiesTestBase {
+class MappingTypeStrategiesTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
// (INT, BOOLEAN) -> STRING
TestSpec.forStrategy(createMappingTypeStrategy())
.inputTypes(DataTypes.INT(), DataTypes.BOOLEAN())
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/SubsequenceInputTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/SubsequenceInputTypeStrategyTest.java
index 37a0470711e..2286d1ccd86 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/SubsequenceInputTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/SubsequenceInputTypeStrategyTest.java
@@ -23,11 +23,8 @@ import org.apache.flink.table.types.inference.strategies.SubsequenceInputTypeStr
import org.apache.flink.table.types.logical.LogicalTypeFamily;
import org.apache.flink.table.types.logical.LogicalTypeRoot;
-import org.junit.runners.Parameterized;
+import java.util.stream.Stream;
-import java.util.List;
-
-import static java.util.Arrays.asList;
import static org.apache.flink.table.types.inference.InputTypeStrategies.ANY;
import static org.apache.flink.table.types.inference.InputTypeStrategies.commonType;
import static org.apache.flink.table.types.inference.InputTypeStrategies.explicit;
@@ -35,10 +32,11 @@ import static org.apache.flink.table.types.inference.InputTypeStrategies.logical
import static org.apache.flink.table.types.inference.InputTypeStrategies.varyingSequence;
/** Tests for {@link SubsequenceInputTypeStrategy}. */
-public class SubsequenceInputTypeStrategyTest extends InputTypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return asList(
+class SubsequenceInputTypeStrategyTest extends InputTypeStrategiesTestBase {
+
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy(
"A strategy used for IF ELSE with valid arguments",
InputTypeStrategies.compositeSequence()
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeStrategiesTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeStrategiesTest.java
index 448ca28f7ac..63172b5c02d 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeStrategiesTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeStrategiesTest.java
@@ -22,11 +22,8 @@ import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.types.logical.LogicalTypeFamily;
import org.apache.flink.table.types.logical.utils.LogicalTypeMerging;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
-import java.util.List;
import java.util.Optional;
+import java.util.stream.Stream;
import static org.apache.flink.table.types.inference.TypeStrategies.MISSING;
import static org.apache.flink.table.types.inference.TypeStrategies.argument;
@@ -36,11 +33,11 @@ import static org.apache.flink.table.types.inference.TypeStrategies.nullableIfAr
import static org.apache.flink.table.types.inference.TypeStrategies.varyingString;
/** Tests for built-in {@link TypeStrategies}. */
-public class TypeStrategiesTest extends TypeStrategiesTestBase {
+class TypeStrategiesTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TypeStrategiesTestBase.TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
// missing strategy with arbitrary argument
TypeStrategiesTestBase.TestSpec.forStrategy(MISSING)
.inputTypes(DataTypes.INT())
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeStrategiesTestBase.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeStrategiesTestBase.java
index f29e960193f..94a95e186de 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeStrategiesTestBase.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeStrategiesTestBase.java
@@ -24,10 +24,9 @@ import org.apache.flink.table.types.DataType;
import org.apache.flink.table.types.inference.utils.CallContextMock;
import org.apache.flink.table.types.inference.utils.FunctionDefinitionMock;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import javax.annotation.Nullable;
@@ -36,32 +35,35 @@ import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+import java.util.stream.Stream;
import static org.apache.flink.core.testutils.FlinkAssertions.anyCauseMatches;
import static org.apache.flink.table.test.TableAssertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Base class for tests of {@link TypeStrategies}. */
-@RunWith(Parameterized.class)
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public abstract class TypeStrategiesTestBase {
- @Parameter public TestSpec testSpec;
-
- @Test
- public void testTypeStrategy() {
+ @ParameterizedTest(name = "{index}: {0}")
+ @MethodSource("testData")
+ void testTypeStrategy(TestSpec testSpec) {
if (testSpec.expectedErrorMessage != null) {
- assertThatThrownBy(this::runTypeInference)
+ assertThatThrownBy(() -> runTypeInference(testSpec))
.satisfies(
anyCauseMatches(
ValidationException.class, testSpec.expectedErrorMessage));
} else if (testSpec.expectedDataType != null) {
- assertThat(runTypeInference().getOutputDataType()).isEqualTo(testSpec.expectedDataType);
+ assertThat(runTypeInference(testSpec).getOutputDataType())
+ .isEqualTo(testSpec.expectedDataType);
}
}
+ protected abstract Stream<TestSpec> testData();
+
// --------------------------------------------------------------------------------------------
- private TypeInferenceUtil.Result runTypeInference() {
+ private TypeInferenceUtil.Result runTypeInference(TestSpec testSpec) {
final FunctionDefinitionMock functionDefinitionMock = new FunctionDefinitionMock();
functionDefinitionMock.functionKind = FunctionKind.SCALAR;
final CallContextMock callContextMock = new CallContextMock();
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeTransformationsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeTransformationsTest.java
index 47d9bc1a4aa..dbbd0e06719 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeTransformationsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/TypeTransformationsTest.java
@@ -30,7 +30,7 @@ import org.apache.flink.table.types.logical.TypeInformationRawType;
import org.apache.flink.table.types.utils.DataTypeUtils;
import org.apache.flink.table.types.utils.TypeConversions;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.sql.Date;
import java.sql.Time;
@@ -44,10 +44,10 @@ import static org.apache.flink.table.types.inference.TypeTransformations.toNulla
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for built-in {@link TypeTransformations}. */
-public class TypeTransformationsTest {
+class TypeTransformationsTest {
@Test
- public void testToInternal() {
+ void testToInternal() {
DataType dataType =
DataTypes.STRUCTURED(
SimplePojo.class,
@@ -68,7 +68,7 @@ public class TypeTransformationsTest {
}
@Test
- public void testTimeToSqlTypes() {
+ void testTimeToSqlTypes() {
DataType dataType =
DataTypes.ROW(
DataTypes.FIELD("a", DataTypes.STRING()),
@@ -99,7 +99,7 @@ public class TypeTransformationsTest {
}
@Test
- public void testLegacyRawToTypeInfoRaw() {
+ void testLegacyRawToTypeInfoRaw() {
DataType dataType =
DataTypes.ROW(
DataTypes.FIELD("a", DataTypes.STRING()),
@@ -121,7 +121,7 @@ public class TypeTransformationsTest {
}
@Test
- public void testToNullable() {
+ void testToNullable() {
DataType dataType =
DataTypes.ROW(
DataTypes.FIELD("a", DataTypes.STRING().notNull()),
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/ArrayTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/ArrayTypeStrategyTest.java
index 31ac3e7f717..4cd08c22f67 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/ArrayTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/ArrayTypeStrategyTest.java
@@ -21,17 +21,14 @@ package org.apache.flink.table.types.inference.strategies;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.types.inference.TypeStrategiesTestBase;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
/** Tests for {@link ArrayTypeStrategy}. */
-public class ArrayTypeStrategyTest extends TypeStrategiesTestBase {
+class ArrayTypeStrategyTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy("Infer an array type", SpecificTypeStrategies.ARRAY)
.inputTypes(DataTypes.BIGINT(), DataTypes.BIGINT())
.expectDataType(DataTypes.ARRAY(DataTypes.BIGINT()).notNull()));
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/CurrentWatermarkInputTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/CurrentWatermarkInputTypeStrategyTest.java
index 773499850ff..efd0bc39f25 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/CurrentWatermarkInputTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/CurrentWatermarkInputTypeStrategyTest.java
@@ -26,18 +26,14 @@ import org.apache.flink.table.types.logical.TimestampKind;
import org.apache.flink.table.types.logical.TimestampType;
import org.apache.flink.table.types.utils.TypeConversions;
-import org.junit.runners.Parameterized;
-
-import java.util.List;
-
-import static java.util.Arrays.asList;
+import java.util.stream.Stream;
/** Tests for {@link CurrentWatermarkInputTypeStrategy}. */
-public class CurrentWatermarkInputTypeStrategyTest extends InputTypeStrategiesTestBase {
+class CurrentWatermarkInputTypeStrategyTest extends InputTypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy(
"TIMESTAMP(3) *ROWTIME* works",
SpecificInputTypeStrategies.CURRENT_WATERMARK)
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/CurrentWatermarkTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/CurrentWatermarkTypeStrategyTest.java
index d56e5887263..4dbf5a393b6 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/CurrentWatermarkTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/CurrentWatermarkTypeStrategyTest.java
@@ -26,17 +26,14 @@ import org.apache.flink.table.types.logical.TimestampKind;
import org.apache.flink.table.types.logical.TimestampType;
import org.apache.flink.table.types.utils.TypeConversions;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
/** Tests for {@link CurrentWatermarkTypeStrategy}. */
-public class CurrentWatermarkTypeStrategyTest extends TypeStrategiesTestBase {
+class CurrentWatermarkTypeStrategyTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
// CURRENT_WATERMARK
TestSpec.forStrategy(
"TIMESTAMP(3) *ROWTIME*", SpecificTypeStrategies.CURRENT_WATERMARK)
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/DecimalTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/DecimalTypeStrategyTest.java
index 0186154bb4d..33c37c3e9cd 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/DecimalTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/DecimalTypeStrategyTest.java
@@ -22,17 +22,14 @@ import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.types.inference.TypeStrategiesTestBase;
import org.apache.flink.table.types.inference.TypeStrategy;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
/** Tests for decimal {@link TypeStrategy TypeStrategies}. */
-public class DecimalTypeStrategyTest extends TypeStrategiesTestBase {
+class DecimalTypeStrategyTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy("Find a decimal sum", SpecificTypeStrategies.DECIMAL_PLUS)
.inputTypes(DataTypes.DECIMAL(5, 4), DataTypes.DECIMAL(3, 2))
.expectDataType(DataTypes.DECIMAL(6, 4).notNull()),
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/GetTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/GetTypeStrategyTest.java
index d52b4f52623..49cfd504f4e 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/GetTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/GetTypeStrategyTest.java
@@ -25,18 +25,15 @@ import org.apache.flink.table.types.inference.TypeStrategiesTestBase;
import org.apache.flink.table.types.logical.BigIntType;
import org.apache.flink.table.types.logical.StructuredType;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
import java.util.Collections;
-import java.util.List;
+import java.util.stream.Stream;
/** Tests for {@link GetTypeStrategy}. */
-public class GetTypeStrategyTest extends TypeStrategiesTestBase {
+class GetTypeStrategyTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy(
"Access field of a row nullable type by name",
SpecificTypeStrategies.GET)
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/MapTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/MapTypeStrategyTest.java
index 722033ad834..40cdcd70072 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/MapTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/MapTypeStrategyTest.java
@@ -21,17 +21,14 @@ package org.apache.flink.table.types.inference.strategies;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.types.inference.TypeStrategiesTestBase;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
/** Tests for {@link MapTypeStrategy}. */
-public class MapTypeStrategyTest extends TypeStrategiesTestBase {
+class MapTypeStrategyTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy("Infer a map type", SpecificTypeStrategies.MAP)
.inputTypes(DataTypes.BIGINT(), DataTypes.STRING().notNull())
.expectDataType(
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/RepeatingSequenceInputTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/RepeatingSequenceInputTypeStrategyTest.java
index 9c09b798e07..b2df89209c0 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/RepeatingSequenceInputTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/RepeatingSequenceInputTypeStrategyTest.java
@@ -20,22 +20,19 @@ package org.apache.flink.table.types.inference.strategies;
import org.apache.flink.table.types.inference.InputTypeStrategiesTestBase;
-import org.junit.runners.Parameterized;
+import java.util.stream.Stream;
-import java.util.List;
-
-import static java.util.Arrays.asList;
import static org.apache.flink.table.api.DataTypes.INT;
import static org.apache.flink.table.api.DataTypes.STRING;
import static org.apache.flink.table.types.inference.InputTypeStrategies.explicit;
import static org.apache.flink.table.types.inference.InputTypeStrategies.repeatingSequence;
/** Tests for {@link RepeatingSequenceInputTypeStrategy}. */
-public class RepeatingSequenceInputTypeStrategyTest extends InputTypeStrategiesTestBase {
+class RepeatingSequenceInputTypeStrategyTest extends InputTypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy(
"Single occurrence",
repeatingSequence(explicit(INT()), explicit(STRING())))
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/RowTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/RowTypeStrategyTest.java
index 13bcb4ab304..3c3429e65d0 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/RowTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/RowTypeStrategyTest.java
@@ -21,17 +21,14 @@ package org.apache.flink.table.types.inference.strategies;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.types.inference.TypeStrategiesTestBase;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
/** Tests for {@link RowTypeStrategy}. */
-public class RowTypeStrategyTest extends TypeStrategiesTestBase {
+class RowTypeStrategyTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy("Infer a row type", SpecificTypeStrategies.ROW)
.inputTypes(DataTypes.BIGINT(), DataTypes.STRING())
.expectDataType(
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/StringConcatTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/StringConcatTypeStrategyTest.java
index 142817953f5..e362bf074e0 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/StringConcatTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/StringConcatTypeStrategyTest.java
@@ -21,17 +21,14 @@ package org.apache.flink.table.types.inference.strategies;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.types.inference.TypeStrategiesTestBase;
-import org.junit.runners.Parameterized;
-
-import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
/** Tests for {@link StringConcatTypeStrategy}. */
-public class StringConcatTypeStrategyTest extends TypeStrategiesTestBase {
+class StringConcatTypeStrategyTest extends TypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return Arrays.asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy("Concat two strings", SpecificTypeStrategies.STRING_CONCAT)
.inputTypes(DataTypes.CHAR(12).notNull(), DataTypes.VARCHAR(12))
.expectDataType(DataTypes.VARCHAR(24)));
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/SymbolArgumentTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/SymbolArgumentTypeStrategyTest.java
index 4de5e9d055a..dd51b5fdf4d 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/SymbolArgumentTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/SymbolArgumentTypeStrategyTest.java
@@ -26,24 +26,21 @@ import org.apache.flink.table.types.inference.InputTypeStrategiesTestBase;
import org.apache.flink.table.types.inference.InputTypeStrategy;
import org.apache.flink.table.types.logical.SymbolType;
-import org.junit.runners.Parameterized;
+import java.util.stream.Stream;
-import java.util.List;
-
-import static java.util.Arrays.asList;
import static org.apache.flink.table.types.inference.InputTypeStrategies.sequence;
import static org.apache.flink.table.types.inference.InputTypeStrategies.symbol;
/** Tests for {@link SymbolArgumentTypeStrategy}. */
-public class SymbolArgumentTypeStrategyTest extends InputTypeStrategiesTestBase {
+class SymbolArgumentTypeStrategyTest extends InputTypeStrategiesTestBase {
private static final DataType SYMBOL_TYPE = new AtomicDataType(new SymbolType<>());
private static final InputTypeStrategy STRATEGY = sequence(symbol(TestEnum.class));
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy("Valid argument", STRATEGY)
.calledWithArgumentTypes(SYMBOL_TYPE)
.calledWithLiteralAt(0, TestEnum.A)
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/TypeLiteralArgumentTypeStrategyTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/TypeLiteralArgumentTypeStrategyTest.java
index 560a2c44fd8..7e4d5f3f116 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/TypeLiteralArgumentTypeStrategyTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/inference/strategies/TypeLiteralArgumentTypeStrategyTest.java
@@ -21,20 +21,17 @@ package org.apache.flink.table.types.inference.strategies;
import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.types.inference.InputTypeStrategiesTestBase;
-import org.junit.runners.Parameterized;
+import java.util.stream.Stream;
-import java.util.List;
-
-import static java.util.Arrays.asList;
import static org.apache.flink.table.types.inference.InputTypeStrategies.TYPE_LITERAL;
import static org.apache.flink.table.types.inference.InputTypeStrategies.sequence;
/** Tests for {@link TypeLiteralArgumentTypeStrategy}. */
-public class TypeLiteralArgumentTypeStrategyTest extends InputTypeStrategiesTestBase {
+class TypeLiteralArgumentTypeStrategyTest extends InputTypeStrategiesTestBase {
- @Parameterized.Parameters(name = "{index}: {0}")
- public static List<TestSpec> testData() {
- return asList(
+ @Override
+ protected Stream<TestSpec> testData() {
+ return Stream.of(
TestSpec.forStrategy("Type literal", sequence(TYPE_LITERAL))
.calledWithArgumentTypes(DataTypes.STRING())
.calledWithLiteralAt(0, DataTypes.STRING())
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/logical/utils/LogicalTypeChecksTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/logical/utils/LogicalTypeChecksTest.java
index 5b18afb104b..d0ede0f0fd9 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/logical/utils/LogicalTypeChecksTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/logical/utils/LogicalTypeChecksTest.java
@@ -29,7 +29,7 @@ import org.apache.flink.table.types.logical.LogicalTypeRoot;
import org.apache.flink.table.types.logical.StructuredType;
import org.apache.flink.table.types.utils.TypeConversions;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.List;
@@ -41,10 +41,10 @@ import static org.apache.flink.table.api.DataTypes.STRING;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link LogicalTypeChecks}. */
-public class LogicalTypeChecksTest {
+class LogicalTypeChecksTest {
@Test
- public void testHasNested() {
+ void testHasNested() {
final DataType dataType = ROW(FIELD("f0", INT()), FIELD("f1", STRING()));
assertThat(
LogicalTypeChecks.hasNested(
@@ -63,14 +63,14 @@ public class LogicalTypeChecksTest {
}
@Test
- public void testIsCompositeTypeRowType() {
+ void testIsCompositeTypeRowType() {
DataType dataType = ROW(FIELD("f0", INT()), FIELD("f1", STRING()));
assertThat(LogicalTypeChecks.isCompositeType(dataType.getLogicalType())).isTrue();
}
@Test
- public void testIsCompositeTypeDistinctType() {
+ void testIsCompositeTypeDistinctType() {
DataType dataType = ROW(FIELD("f0", INT()), FIELD("f1", STRING()));
DistinctType distinctType =
DistinctType.newBuilder(
@@ -82,7 +82,7 @@ public class LogicalTypeChecksTest {
}
@Test
- public void testIsCompositeTypeLegacyCompositeType() {
+ void testIsCompositeTypeLegacyCompositeType() {
DataType dataType =
TypeConversions.fromLegacyInfoToDataType(new RowTypeInfo(Types.STRING, Types.INT));
@@ -90,7 +90,7 @@ public class LogicalTypeChecksTest {
}
@Test
- public void testIsCompositeTypeStructuredType() {
+ void testIsCompositeTypeStructuredType() {
StructuredType logicalType =
StructuredType.newBuilder(ObjectIdentifier.of("catalog", "database", "type"))
.attributes(
@@ -108,28 +108,28 @@ public class LogicalTypeChecksTest {
}
@Test
- public void testIsCompositeTypeLegacySimpleType() {
+ void testIsCompositeTypeLegacySimpleType() {
DataType dataType = TypeConversions.fromLegacyInfoToDataType(Types.STRING);
assertThat(LogicalTypeChecks.isCompositeType(dataType.getLogicalType())).isFalse();
}
@Test
- public void testIsCompositeTypeSimpleType() {
+ void testIsCompositeTypeSimpleType() {
DataType dataType = DataTypes.TIMESTAMP();
assertThat(LogicalTypeChecks.isCompositeType(dataType.getLogicalType())).isFalse();
}
@Test
- public void testFieldNameExtraction() {
+ void testFieldNameExtraction() {
DataType dataType = ROW(FIELD("f0", INT()), FIELD("f1", STRING()));
assertThat(LogicalTypeChecks.getFieldNames(dataType.getLogicalType()))
.containsExactly("f0", "f1");
}
@Test
- public void testFieldCountExtraction() {
+ void testFieldCountExtraction() {
DataType dataType = ROW(FIELD("f0", INT()), FIELD("f1", STRING()));
assertThat(LogicalTypeChecks.getFieldCount(dataType.getLogicalType())).isEqualTo(2);
}
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/logical/utils/LogicalTypeMergingTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/logical/utils/LogicalTypeMergingTest.java
index fc9c6f33e9d..38d2d3a6e7b 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/logical/utils/LogicalTypeMergingTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/logical/utils/LogicalTypeMergingTest.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.types.logical.utils;
import org.apache.flink.table.types.logical.DecimalType;
import org.apache.flink.table.types.logical.LogicalType;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.List;
@@ -35,10 +35,10 @@ import static org.apache.flink.table.test.TableAssertions.assertThat;
* <p>For {@link LogicalTypeMerging#findCommonType(List)} tests please check {@link
* org.apache.flink.table.types.LogicalCommonTypeTest}
*/
-public class LogicalTypeMergingTest {
+class LogicalTypeMergingTest {
@Test
- public void testFindDivisionDecimalType() {
+ void testFindDivisionDecimalType() {
assertThat(LogicalTypeMerging.findDivisionDecimalType(32, 8, 38, 8))
.hasPrecisionAndScale(38, 6);
assertThat(LogicalTypeMerging.findDivisionDecimalType(30, 20, 30, 20))
@@ -46,7 +46,7 @@ public class LogicalTypeMergingTest {
}
@Test
- public void testFindMultiplicationDecimalType() {
+ void testFindMultiplicationDecimalType() {
assertThat(LogicalTypeMerging.findMultiplicationDecimalType(30, 10, 30, 10))
.hasPrecisionAndScale(38, 6);
assertThat(LogicalTypeMerging.findMultiplicationDecimalType(30, 20, 30, 20))
@@ -56,7 +56,7 @@ public class LogicalTypeMergingTest {
}
@Test
- public void testFindModuloDecimalType() {
+ void testFindModuloDecimalType() {
assertThat(LogicalTypeMerging.findModuloDecimalType(30, 10, 30, 10))
.hasPrecisionAndScale(30, 10);
assertThat(LogicalTypeMerging.findModuloDecimalType(30, 20, 25, 20))
@@ -66,7 +66,7 @@ public class LogicalTypeMergingTest {
}
@Test
- public void testFindAdditionDecimalType() {
+ void testFindAdditionDecimalType() {
assertThat(LogicalTypeMerging.findAdditionDecimalType(38, 8, 32, 8))
.hasPrecisionAndScale(38, 7);
assertThat(LogicalTypeMerging.findAdditionDecimalType(32, 8, 38, 8))
@@ -80,7 +80,7 @@ public class LogicalTypeMergingTest {
}
@Test
- public void testFindRoundingDecimalType() {
+ void testFindRoundingDecimalType() {
assertThat(LogicalTypeMerging.findRoundDecimalType(32, 8, 5)).hasPrecisionAndScale(30, 5);
assertThat(LogicalTypeMerging.findRoundDecimalType(32, 8, 10)).hasPrecisionAndScale(32, 8);
assertThat(LogicalTypeMerging.findRoundDecimalType(30, 20, 18))
@@ -89,7 +89,7 @@ public class LogicalTypeMergingTest {
}
@Test
- public void testFindAvgAggType() {
+ void testFindAvgAggType() {
assertThat(LogicalTypeMerging.findAvgAggType(decimal(38, 20)))
.isDecimalType()
.hasPrecisionAndScale(38, 20);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/utils/DataTypeUtilsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/utils/DataTypeUtilsTest.java
index 4912160f975..430111543bc 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/utils/DataTypeUtilsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/types/utils/DataTypeUtilsTest.java
@@ -33,7 +33,7 @@ import org.apache.flink.table.types.logical.DistinctType;
import org.apache.flink.table.types.logical.LogicalType;
import org.apache.flink.table.types.logical.StructuredType;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.sql.Timestamp;
import java.time.LocalDateTime;
@@ -55,10 +55,10 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link DataTypeUtils}. */
-public class DataTypeUtilsTest {
+class DataTypeUtilsTest {
@Test
- public void testAppendRowFields() {
+ void testAppendRowFields() {
assertThat(
DataTypeUtils.appendRowFields(
ROW(
@@ -81,7 +81,7 @@ public class DataTypeUtilsTest {
}
@Test
- public void testIsInternalClass() {
+ void testIsInternalClass() {
assertThat(DataTypes.INT()).is(DataTypeConditions.INTERNAL);
assertThat(DataTypes.INT().notNull().bridgedTo(int.class)).is(DataTypeConditions.INTERNAL);
assertThat(DataTypes.ROW().bridgedTo(RowData.class)).is(DataTypeConditions.INTERNAL);
@@ -89,7 +89,7 @@ public class DataTypeUtilsTest {
}
@Test
- public void testFlattenToDataTypes() {
+ void testFlattenToDataTypes() {
assertThat(DataTypeUtils.flattenToDataTypes(INT())).containsOnly(INT());
assertThat(DataTypeUtils.flattenToDataTypes(ROW(FIELD("a", INT()), FIELD("b", BOOLEAN()))))
@@ -97,7 +97,7 @@ public class DataTypeUtilsTest {
}
@Test
- public void testFlattenToNames() {
+ void testFlattenToNames() {
assertThat(DataTypeUtils.flattenToNames(INT(), Collections.emptyList())).containsOnly("f0");
assertThat(DataTypeUtils.flattenToNames(INT(), Collections.singletonList("f0")))
@@ -111,7 +111,7 @@ public class DataTypeUtilsTest {
}
@Test
- public void testExpandRowType() {
+ void testExpandRowType() {
DataType dataType =
ROW(
FIELD("f0", INT()),
@@ -131,7 +131,7 @@ public class DataTypeUtilsTest {
}
@Test
- public void testExpandLegacyCompositeType() {
+ void testExpandLegacyCompositeType() {
DataType dataType =
TypeConversions.fromLegacyInfoToDataType(
new TupleTypeInfo<>(Types.STRING, Types.INT, Types.SQL_TIMESTAMP));
@@ -146,7 +146,7 @@ public class DataTypeUtilsTest {
}
@Test
- public void testExpandStructuredType() {
+ void testExpandStructuredType() {
StructuredType logicalType =
StructuredType.newBuilder(ObjectIdentifier.of("catalog", "database", "type"))
.attributes(
@@ -182,7 +182,7 @@ public class DataTypeUtilsTest {
}
@Test
- public void testExpandDistinctType() {
+ void testExpandDistinctType() {
FieldsDataType dataType =
(FieldsDataType)
ROW(
@@ -211,13 +211,14 @@ public class DataTypeUtilsTest {
"f3", TIMESTAMP(3).bridgedTo(LocalDateTime.class))));
}
- @Test(expected = IllegalArgumentException.class)
- public void testExpandThrowExceptionOnAtomicType() {
- DataTypeUtils.expandCompositeTypeToSchema(DataTypes.TIMESTAMP());
+ @Test
+ void testExpandThrowExceptionOnAtomicType() {
+ assertThatThrownBy(() -> DataTypeUtils.expandCompositeTypeToSchema(DataTypes.TIMESTAMP()))
+ .isInstanceOf(IllegalArgumentException.class);
}
@Test
- public void testDataTypeValidation() {
+ void testDataTypeValidation() {
final DataType validDataType = DataTypes.MAP(DataTypes.INT(), DataTypes.STRING());
DataTypeUtils.validateInputDataType(validDataType);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/EncodingUtilsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/EncodingUtilsTest.java
index 732551c5117..c037d676d47 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/EncodingUtilsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/EncodingUtilsTest.java
@@ -18,7 +18,7 @@
package org.apache.flink.table.utils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.Serializable;
import java.util.Objects;
@@ -26,17 +26,17 @@ import java.util.Objects;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link org.apache.flink.table.utils.EncodingUtils}. */
-public class EncodingUtilsTest {
+class EncodingUtilsTest {
@Test
- public void testObjectStringEncoding() {
+ void testObjectStringEncoding() {
final MyPojo pojo = new MyPojo(33, "Hello");
final String base64 = EncodingUtils.encodeObjectToString(pojo);
assertThat(EncodingUtils.decodeStringToObject(base64, Serializable.class)).isEqualTo(pojo);
}
@Test
- public void testStringBase64Encoding() {
+ void testStringBase64Encoding() {
final String string = "Hello, this is apache flink.";
final String base64 = EncodingUtils.encodeStringToBase64(string);
assertThat(base64).isEqualTo("SGVsbG8sIHRoaXMgaXMgYXBhY2hlIGZsaW5rLg==");
@@ -44,20 +44,20 @@ public class EncodingUtilsTest {
}
@Test
- public void testMd5Hex() {
+ void testMd5Hex() {
final String string = "Hello, world! How are you? 高精确";
assertThat(EncodingUtils.hex(EncodingUtils.md5(string)))
.isEqualTo("983abac84e994b4ba73be177e5cc298b");
}
@Test
- public void testJavaEscaping() {
+ void testJavaEscaping() {
assertThat(EncodingUtils.escapeJava("\\hello\"world'space/"))
.isEqualTo("\\\\hello\\\"world'space/");
}
@Test
- public void testRepetition() {
+ void testRepetition() {
assertThat(EncodingUtils.repeat("we", 3)).isEqualTo("wewewe");
}
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/PartitionPathUtilsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/PartitionPathUtilsTest.java
index 7d7b09b0e37..51ff60026bf 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/PartitionPathUtilsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/PartitionPathUtilsTest.java
@@ -18,15 +18,15 @@
package org.apache.flink.table.utils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link org.apache.flink.table.utils.PartitionPathUtils}. */
-public class PartitionPathUtilsTest {
+class PartitionPathUtilsTest {
@Test
- public void testEscapeChar() {
+ void testEscapeChar() {
for (char c = 0; c <= 128; c++) {
String expected = "%" + String.format("%1$02X", (int) c);
String actual = PartitionPathUtils.escapeChar(c, new StringBuilder()).toString();
@@ -35,7 +35,7 @@ public class PartitionPathUtilsTest {
}
@Test
- public void testEscapePathNameWithHeadControl() {
+ void testEscapePathNameWithHeadControl() {
String origin = "[00";
String expected = "%5B00";
String actual = PartitionPathUtils.escapePathName(origin);
@@ -44,7 +44,7 @@ public class PartitionPathUtilsTest {
}
@Test
- public void testEscapePathNameWithTailControl() {
+ void testEscapePathNameWithTailControl() {
String origin = "00]";
String expected = "00%5D";
String actual = PartitionPathUtils.escapePathName(origin);
@@ -53,7 +53,7 @@ public class PartitionPathUtilsTest {
}
@Test
- public void testEscapePathNameWithMidControl() {
+ void testEscapePathNameWithMidControl() {
String origin = "00:00";
String expected = "00%3A00";
String actual = PartitionPathUtils.escapePathName(origin);
@@ -62,7 +62,7 @@ public class PartitionPathUtilsTest {
}
@Test
- public void testEscapePathName() {
+ void testEscapePathName() {
String origin = "[00:00]";
String expected = "%5B00%3A00%5D";
String actual = PartitionPathUtils.escapePathName(origin);
@@ -71,7 +71,7 @@ public class PartitionPathUtilsTest {
}
@Test
- public void testEscapePathNameWithoutControl() {
+ void testEscapePathNameWithoutControl() {
String origin = "0000";
String expected = "0000";
String actual = PartitionPathUtils.escapePathName(origin);
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TableSchemaUtilsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TableSchemaUtilsTest.java
index eb0f6f2140a..3fe5c42141b 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TableSchemaUtilsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TableSchemaUtilsTest.java
@@ -22,16 +22,16 @@ import org.apache.flink.table.api.DataTypes;
import org.apache.flink.table.api.TableSchema;
import org.apache.flink.table.api.ValidationException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for TableSchemaUtils. */
-public class TableSchemaUtilsTest {
+class TableSchemaUtilsTest {
@Test
- public void testBuilderWithGivenSchema() {
+ void testBuilderWithGivenSchema() {
TableSchema oriSchema =
TableSchema.builder()
.field("a", DataTypes.INT().notNull())
@@ -46,7 +46,7 @@ public class TableSchemaUtilsTest {
}
@Test
- public void testDropConstraint() {
+ void testDropConstraint() {
TableSchema originalSchema =
TableSchema.builder()
.field("a", DataTypes.INT().notNull())
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TypeMappingUtilsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TypeMappingUtilsTest.java
index 1409310d60d..e6ac3e1bd25 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TypeMappingUtilsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TypeMappingUtilsTest.java
@@ -37,7 +37,7 @@ import org.apache.flink.table.types.utils.DataTypeUtils;
import org.apache.flink.table.types.utils.TypeConversions;
import org.apache.flink.types.Row;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import javax.annotation.Nullable;
@@ -56,10 +56,10 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link TypeMappingUtils}. */
-public class TypeMappingUtilsTest {
+class TypeMappingUtilsTest {
@Test
- public void testFieldMappingReordered() {
+ void testFieldMappingReordered() {
int[] indices =
TypeMappingUtils.computePhysicalIndices(
TableSchema.builder()
@@ -74,7 +74,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testFieldMappingNonMatchingTypes() {
+ void testFieldMappingNonMatchingTypes() {
assertThatThrownBy(
() ->
TypeMappingUtils.computePhysicalIndices(
@@ -94,7 +94,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testFieldMappingNonMatchingPrecision() {
+ void testFieldMappingNonMatchingPrecision() {
assertThatThrownBy(
() ->
TypeMappingUtils.computePhysicalIndices(
@@ -112,7 +112,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testNameMappingDoesNotExist() {
+ void testNameMappingDoesNotExist() {
assertThatThrownBy(
() ->
TypeMappingUtils.computePhysicalIndices(
@@ -127,7 +127,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testFieldMappingLegacyDecimalType() {
+ void testFieldMappingLegacyDecimalType() {
int[] indices =
TypeMappingUtils.computePhysicalIndices(
TableSchema.builder()
@@ -141,7 +141,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testFieldMappingLegacyDecimalTypeNotMatchingPrecision() {
+ void testFieldMappingLegacyDecimalTypeNotMatchingPrecision() {
assertThatThrownBy(
() ->
TypeMappingUtils.computePhysicalIndices(
@@ -166,7 +166,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testFieldMappingRowTypeNotMatchingNamesInNestedType() {
+ void testFieldMappingRowTypeNotMatchingNamesInNestedType() {
int[] indices =
TypeMappingUtils.computePhysicalIndices(
TableSchema.builder()
@@ -191,7 +191,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testFieldMappingRowTypeNotMatchingTypesInNestedType() {
+ void testFieldMappingRowTypeNotMatchingTypesInNestedType() {
assertThatThrownBy(
() ->
TypeMappingUtils.computePhysicalIndices(
@@ -220,7 +220,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testFieldMappingLegacyCompositeType() {
+ void testFieldMappingLegacyCompositeType() {
int[] indices =
TypeMappingUtils.computePhysicalIndices(
TableSchema.builder()
@@ -236,7 +236,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testFieldMappingLegacyCompositeTypeWithRenaming() {
+ void testFieldMappingLegacyCompositeTypeWithRenaming() {
int[] indices =
TypeMappingUtils.computePhysicalIndices(
TableSchema.builder()
@@ -261,7 +261,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testMappingWithBatchTimeAttributes() {
+ void testMappingWithBatchTimeAttributes() {
TestTableSource tableSource =
new TestTableSource(
DataTypes.BIGINT(), Collections.singletonList("rowtime"), "proctime");
@@ -281,7 +281,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testMappingWithStreamTimeAttributes() {
+ void testMappingWithStreamTimeAttributes() {
TestTableSource tableSource =
new TestTableSource(
DataTypes.BIGINT(), Collections.singletonList("rowtime"), "proctime");
@@ -301,7 +301,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testMappingWithStreamTimeAttributesFromCompositeType() {
+ void testMappingWithStreamTimeAttributesFromCompositeType() {
TestTableSource tableSource =
new TestTableSource(
ROW(FIELD("b", TIME()), FIELD("a", DataTypes.BIGINT())),
@@ -323,7 +323,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testWrongLogicalTypeForRowtimeAttribute() {
+ void testWrongLogicalTypeForRowtimeAttribute() {
TestTableSource tableSource =
new TestTableSource(
DataTypes.BIGINT(), Collections.singletonList("rowtime"), "proctime");
@@ -347,7 +347,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testWrongLogicalTypeForProctimeAttribute() {
+ void testWrongLogicalTypeForProctimeAttribute() {
TestTableSource tableSource =
new TestTableSource(
DataTypes.BIGINT(), Collections.singletonList("rowtime"), "proctime");
@@ -370,7 +370,7 @@ public class TypeMappingUtilsTest {
}
@Test
- public void testCheckPhysicalLogicalTypeCompatible() {
+ void testCheckPhysicalLogicalTypeCompatible() {
TableSchema tableSchema =
TableSchema.builder()
.field("a", DataTypes.VARCHAR(2))
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TypeStringUtilsTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TypeStringUtilsTest.java
index 55dba1f6004..6e6b2afe971 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TypeStringUtilsTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/TypeStringUtilsTest.java
@@ -24,15 +24,16 @@ import org.apache.flink.api.java.typeutils.MultisetTypeInfo;
import org.apache.flink.api.java.typeutils.TypeExtractor;
import org.apache.flink.table.api.ValidationException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link TypeStringUtils}. */
-public class TypeStringUtilsTest {
+class TypeStringUtilsTest {
@Test
- public void testPrimitiveTypes() {
+ void testPrimitiveTypes() {
testReadAndWrite("VARCHAR", Types.STRING);
testReadAndWrite("BOOLEAN", Types.BOOLEAN);
testReadAndWrite("TINYINT", Types.BYTE);
@@ -66,7 +67,7 @@ public class TypeStringUtilsTest {
}
@Test
- public void testWriteComplexTypes() {
+ void testWriteComplexTypes() {
testReadAndWrite("ROW<f0 DECIMAL, f1 TINYINT>", Types.ROW(Types.BIG_DEC, Types.BYTE));
testReadAndWrite(
@@ -137,19 +138,23 @@ public class TypeStringUtilsTest {
Types.LOCAL_DATE));
}
- @Test(expected = ValidationException.class)
- public void testSyntaxError1() {
- TypeStringUtils.readTypeInfo("ROW<<f0 DECIMAL, f1 TINYINT>"); // additional <
+ @Test
+ void testSyntaxError1() {
+ assertThatThrownBy(() -> TypeStringUtils.readTypeInfo("ROW<<f0 DECIMAL, f1 TINYINT>"))
+ .isInstanceOf(ValidationException.class); // additional <
}
- @Test(expected = ValidationException.class)
- public void testSyntaxError2() {
- TypeStringUtils.readTypeInfo("ROW<f0 DECIMAL DECIMAL, f1 TINYINT>"); // duplicate type
+ @Test
+ void testSyntaxError2() {
+ assertThatThrownBy(
+ () -> TypeStringUtils.readTypeInfo("ROW<f0 DECIMAL DECIMAL, f1 TINYINT>"))
+ .isInstanceOf(ValidationException.class); // duplicate type
}
- @Test(expected = ValidationException.class)
- public void testSyntaxError3() {
- TypeStringUtils.readTypeInfo("ROW<f0 INVALID, f1 TINYINT>"); // invalid type
+ @Test
+ void testSyntaxError3() {
+ assertThatThrownBy(() -> TypeStringUtils.readTypeInfo("ROW<f0 INVALID, f1 TINYINT>"))
+ .isInstanceOf(ValidationException.class); // invalid type
}
private void testReadAndWrite(String expected, TypeInformation<?> type) {
diff --git a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/print/TableauStyleTest.java b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/print/TableauStyleTest.java
index dfe7b5d7e4c..8d6b8c78ac2 100644
--- a/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/print/TableauStyleTest.java
+++ b/flink-table/flink-table-common/src/test/java/org/apache/flink/table/utils/print/TableauStyleTest.java
@@ -30,7 +30,7 @@ import org.apache.flink.table.utils.DateTimeUtils;
import org.apache.flink.types.Row;
import org.apache.flink.types.RowKind;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
@@ -45,11 +45,11 @@ import java.util.stream.Collectors;
import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link TableauStyle}. */
-public class TableauStyleTest {
+class TableauStyleTest {
private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
@Test
- public void testCharFullWidth() {
+ void testCharFullWidth() {
char[] chars = new char[] {'A', 'a', ',', '中', ',', 'こ'};
boolean[] expected = new boolean[] {false, false, false, true, true, true};
@@ -60,7 +60,7 @@ public class TableauStyleTest {
}
@Test
- public void testStringDisplayWidth() {
+ void testStringDisplayWidth() {
List<String> data =
Arrays.asList(
"abcdefg,12345,ABC",
@@ -75,7 +75,7 @@ public class TableauStyleTest {
}
@Test
- public void testPrintWithEmptyResult() {
+ void testPrintWithEmptyResult() {
PrintStyle.tableauWithDataInferredColumnWidths(getSchema(), getConverter())
.print(Collections.emptyIterator(), new PrintWriter(outContent));
@@ -83,7 +83,7 @@ public class TableauStyleTest {
}
@Test
- public void testPrintWithEmptyResultAndRowKind() {
+ void testPrintWithEmptyResultAndRowKind() {
PrintStyle.tableauWithTypeInferredColumnWidths(
getSchema(),
getConverter(),
@@ -96,7 +96,7 @@ public class TableauStyleTest {
}
@Test
- public void testPrintWithEmptyResultAndDeriveColumnWidthByContent() {
+ void testPrintWithEmptyResultAndDeriveColumnWidthByContent() {
PrintStyle.tableauWithTypeInferredColumnWidths(
getSchema(),
getConverter(),
@@ -109,7 +109,7 @@ public class TableauStyleTest {
}
@Test
- public void testPrintWithMultipleRows() {
+ void testPrintWithMultipleRows() {
PrintStyle.tableauWithDataInferredColumnWidths(getSchema(), getConverter())
.print(getData().iterator(), new PrintWriter(outContent));
@@ -152,7 +152,7 @@ public class TableauStyleTest {
}
@Test
- public void testPrintWithMultipleRowsAndRowKind() {
+ void testPrintWithMultipleRowsAndRowKind() {
PrintStyle.tableauWithTypeInferredColumnWidths(
getSchema(),
getConverter(),
@@ -200,7 +200,7 @@ public class TableauStyleTest {
}
@Test
- public void testPrintWithMultipleRowsAndDeriveColumnWidthByContent() {
+ void testPrintWithMultipleRowsAndDeriveColumnWidthByContent() {
PrintStyle.tableauWithDataInferredColumnWidths(
getSchema(),
getConverter(),
diff --git a/flink-table/flink-table-common/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/flink-table/flink-table-common/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
new file mode 100644
index 00000000000..28999133c2b
--- /dev/null
+++ b/flink-table/flink-table-common/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+org.apache.flink.util.TestLoggerExtension
\ No newline at end of file