Repository: apache/flink
File: flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/MapFunctionITCase.java (Java)

Code before:
        return Stream.of(
                TestSetSpec.forFunction(BuiltInFunctionDefinitions.MAP)
                        .onFieldsWithData(
                                1,
                                2,
                                3,
                                4,
                                new BigDecimal("1.2345"),
                                new BigDecimal("1.2346"),
                                true)
                        .andDataTypes(
                                INT().notNull(),
                                INT().notNull(),
                                INT().notNull(),
                                INT().notNull(),
                                DECIMAL(10, 4).notNull(),
                                DECIMAL(10, 4).notNull(),
                                BOOLEAN().notNull())
                        .testResult(
                                resultSpec(
                                        map($("f0"), $("f0"), $("f0"), $("f1")),
                                        "MAP[f0, f1]",
                                        Collections.singletonMap(1, 2),
                                        DataTypes.MAP(INT().notNull(), INT().notNull()).notNull()),
                                resultSpec(
                                        map($("f4"), $("f5")),
                                        "MAP[f4, f5]",
                                        Collections.singletonMap(
                                                new BigDecimal("1.2345"), new BigDecimal("1.2346")),
                                        DataTypes.MAP(
                                                        DECIMAL(10, 4).notNull(),
                                                        DECIMAL(10, 4).notNull())
                                                .notNull()),
                                resultSpec(
                                        map(
                                                $("f0").plus($("f1")),
                                                $("f2").times($("f2")),
                                                $("f2").minus($("f1")),
                                                $("f3").minus($("f0"))),
                                        "MAP[f0 + f1, f2 * f2, f2 - f1, f3 - f0]",
                                        CollectionUtil.map(
                                                entry(1 + 2, 3 * 3), entry(3 - 2, 4 - 1)),
                                        DataTypes.MAP(INT().notNull(), INT().notNull()).notNull()),
                                resultSpec(
                                        map(
                                                $("f0"),
                                                $("f1").cast(BIGINT().notNull()),
                                                $("f2"),
                                                $("f3").cast(BIGINT().notNull())),
                                        "MAP[f0, CAST(f1 AS BIGINT), f2, CAST(f3 AS BIGINT)]",
                                        CollectionUtil.map(entry(1, 2L), entry(3, 4L)),

Review comment (suggestion):
Similar to the tests case below but the order of the kvs is mixed. If not necessary it can be removed.

Code after:
        return Stream.of(
                TestSetSpec.forFunction(BuiltInFunctionDefinitions.MAP)
                        .onFieldsWithData(
                                1,
                                2,
                                3,
                                4,
                                new BigDecimal("1.2345"),
                                new BigDecimal("1.2346"),
                                true)
                        .andDataTypes(
                                INT().notNull(),
                                INT().notNull(),
                                INT().notNull(),
                                INT().notNull(),
                                DECIMAL(10, 4).notNull(),
                                DECIMAL(10, 4).notNull(),
                                BOOLEAN().notNull())
                        .testResult(
                                resultSpec(
                                        map(
                                                1, 1, 1, 2, 1, 9, 1, 3, 2, 24, 2, 29, 1, 0, 2, 22,
                                                1, 8, 2, 25, 2, 20),
                                        "MAP[1, 1, 1, 2, 1, 9, 1, 3, 2, 24, 2, 29, 1, 0, 2, 22, 1, 8, 2, 25, 2, 20]",
                                        Map.ofEntries(Map.entry(1, 8), Map.entry(2, 20)),
                                        DataTypes.MAP(INT().notNull(), INT().notNull()).notNull()),
                                resultSpec(
                                        map($("f0"), $("f0"), $("f0"), $("f1")),
                                        "MAP[f0, f0, f0, f1]",
                                        Collections.singletonMap(1, 2),
                                        DataTypes.MAP(INT().notNull(), INT().notNull()).notNull()),
                                resultSpec(
                                        map($("f4"), $("f5")),
                                        "MAP[f4, f5]",
                                        Collections.singletonMap(
                                                new BigDecimal("1.2345"), new BigDecimal("1.2346")),
                                        DataTypes.MAP(
                                                        DECIMAL(10, 4).notNull(),
                                                        DECIMAL(10, 4).notNull())
                                                .notNull()),
                                resultSpec(
                                        map(
                                                $("f0").plus($("f1")),
                                                $("f2").times($("f2")),
                                                $("f2").minus($("f1")),
                                                $("f3").minus($("f0"))),
                                        "MAP[f0 + f1, f2 * f2, f2 - f1, f3 - f0]",
                                        CollectionUtil.map(
                                                entry(1 + 2, 3 * 3), entry(3 - 2, 4 - 1)),
                                        DataTypes.MAP(INT().notNull(), INT().notNull()).notNull()),
                                resultSpec(