public RowSerializer(TypeSerializer<?>[] fieldSerializers) {
        this(fieldSerializers, null, true);
    }
@Test
    void testRowSerializer() {
        final TypeInformation<Row> rowTypeInfo =
                Types.ROW_NAMED(
                        new String[] {"a", "b", "c", "d"},
                        Types.INT,
                        Types.STRING,
                        Types.DOUBLE,
                        Types.BOOLEAN);

        final Row positionedRow = Row.withPositions(RowKind.UPDATE_BEFORE, 4);
        positionedRow.setKind(RowKind.UPDATE_BEFORE);
        positionedRow.setField(0, 1);
        positionedRow.setField(1, "a");
        positionedRow.setField(2, null);
        positionedRow.setField(3, false);

        final Row namedRow = Row.withNames(RowKind.UPDATE_BEFORE);
        namedRow.setField("a", 1);
        namedRow.setField("b", "a");
        namedRow.setField("c", null);
        namedRow.setField("d", false);

        final Row sparseNamedRow = Row.withNames(RowKind.UPDATE_BEFORE);
        namedRow.setField("a", 1);
        namedRow.setField("b", "a");
        namedRow.setField("d", false); // "c" is missing

        final LinkedHashMap<String, Integer> positionByName = new LinkedHashMap<>();
        positionByName.put("a", 0);
        positionByName.put("b", 1);
        positionByName.put("c", 2);
        positionByName.put("d", 3);
        final Row namedPositionedRow =
                RowUtils.createRowWithNamedPositions(
                        RowKind.UPDATE_BEFORE, new Object[4], positionByName);
        namedPositionedRow.setField("a", 1);
        namedPositionedRow.setField(1, "a");
        namedPositionedRow.setField(2, null);
        namedPositionedRow.setField("d", false);

        final TypeSerializer<Row> serializer =
                rowTypeInfo.createSerializer(new SerializerConfigImpl());
        final RowSerializerTestInstance instance =
                new RowSerializerTestInstance(
                        serializer, positionedRow, namedRow, sparseNamedRow, namedPositionedRow);
        instance.testAll();
    }