Code review comment: same here  based on input I would expect  ```java Row.of("C", new Integer[] {3, null}), ```

Code under review:
Stream<TestSpec> getTestCaseSpecs() {
        return Stream.of(
                TestSpec.forFunction(BuiltInFunctionDefinitions.ARRAY_AGG)
                        .withDescription("ARRAY changelog stream aggregation")
                        .withSource(
                                ROW(STRING(), INT()),
                                Arrays.asList(
                                        Row.ofKind(INSERT, "A", 1),
                                        Row.ofKind(INSERT, "A", 2),
                                        Row.ofKind(INSERT, "B", 2),
                                        Row.ofKind(INSERT, "B", 2),
                                        Row.ofKind(INSERT, "B", 3),
                                        Row.ofKind(INSERT, "C", 3),
                                        Row.ofKind(INSERT, "C", null),
                                        Row.ofKind(INSERT, "D", null),
                                        Row.ofKind(INSERT, "E", 4),
                                        Row.ofKind(INSERT, "E", 5),
                                        Row.ofKind(DELETE, "E", 5),
                                        Row.ofKind(UPDATE_BEFORE, "E", 4),
                                        Row.ofKind(UPDATE_AFTER, "E", 6)))
                        .testResult(
                                source ->
                                        "SELECT f0, array_agg(f1) FROM " + source + " GROUP BY f0",
                                TableApiAggSpec.groupBySelect(
                                        Collections.singletonList($("f0")),
                                        $("f0"),
                                        $("f1").arrayAgg()),
                                ROW(STRING(), ARRAY(INT())),
                                ROW(STRING(), ARRAY(INT())),
                                Arrays.asList(
                                        Row.of("A", new Integer[] {1, 2}),
                                        Row.of("B", new Integer[] {2, 2, 3}),
                                        Row.of("C", new Integer[] {3}),
                                        Row.of("D", null),
                                        Row.of("E", new Integer[] {6})))
                        .testResult(
                                source ->
                                        "SELECT f0, array_agg(DISTINCT f1) FROM "
                                                + source
                                                + " GROUP BY f0",
                                TableApiAggSpec.groupBySelect(
                                        Collections.singletonList($("f0")),
                                        $("f0"),
                                        $("f1").arrayAgg().distinct()),
                                ROW(STRING(), ARRAY(INT())),
                                ROW(STRING(), ARRAY(INT())),
                                Arrays.asList(
                                        Row.of("A", new Integer[] {1, 2}),
                                        Row.of("B", new Integer[] {2, 3}),
                                        Row.of("C", new Integer[] {3}),
                                        Row.of("D", null),
                                        Row.of("E", new Integer[] {6}))));
    }

Line commented on: ROW(STRING(), ARRAY(INT())),

Revised code:
Stream<TestSpec> getTestCaseSpecs() {
        return Stream.of(
                TestSpec.forFunction(BuiltInFunctionDefinitions.ARRAY_AGG)
                        .withDescription("ARRAY changelog stream aggregation")
                        .withSource(
                                ROW(STRING(), INT()),
                                Arrays.asList(
                                        Row.ofKind(INSERT, "A", 1),
                                        Row.ofKind(INSERT, "A", 2),
                                        Row.ofKind(INSERT, "B", 2),
                                        Row.ofKind(INSERT, "B", 2),
                                        Row.ofKind(INSERT, "B", 3),
                                        Row.ofKind(INSERT, "C", 3),
                                        Row.ofKind(INSERT, "C", null),
                                        Row.ofKind(DELETE, "C", null),
                                        Row.ofKind(INSERT, "D", null),
                                        Row.ofKind(INSERT, "E", 4),
                                        Row.ofKind(INSERT, "E", 5),
                                        Row.ofKind(DELETE, "E", 5),
                                        Row.ofKind(UPDATE_BEFORE, "E", 4),
                                        Row.ofKind(UPDATE_AFTER, "E", 6)))
                        .testResult(
                                source ->
                                        "SELECT f0, array_agg(f1) FROM " + source + " GROUP BY f0",
                                TableApiAggSpec.groupBySelect(
                                        Collections.singletonList($("f0")),
                                        $("f0"),
                                        $("f1").arrayAgg()),
                                ROW(STRING(), ARRAY(INT())),
                                ROW(STRING(), ARRAY(INT())),
                                Arrays.asList(
                                        Row.of("A", new Integer[] {1, 2}),
                                        Row.of("B", new Integer[] {2, 2, 3}),
                                        Row.of("C", new Integer[] {3}),
                                        Row.of("D", new Integer[] {null}),
                                        Row.of("E", new Integer[] {6})))
                        .testSqlResult(
                                source ->
                                        "SELECT f0, array_agg(DISTINCT f1 IGNORE NULLS) FROM "
                                                + source
                                                + " GROUP BY f0",
                                ROW(STRING(), ARRAY(INT())),
                                Arrays.asList(
                                        Row.of("A", new Integer[] {1, 2}),
                                        Row.of("B", new Integer[] {2, 3}),
                                        Row.of("C", new Integer[] {3}),
                                        Row.of("D", null),
                                        Row.of("E", new Integer[] {6}))));
    }