@Override
    public TypeInformation<Tuple2<K, V>> getProducedType() {
        return new TupleTypeInfo<>(
                TypeExtractor.createTypeInfo(keyClass), TypeExtractor.createTypeInfo(valueClass));
    }
@Test
    void checkTypeInformation() throws Exception {
        HadoopInputFormat<Void, Long> hadoopInputFormat =
                new HadoopInputFormat<>(
                        new DummyVoidKeyInputFormat<Long>(), Void.class, Long.class, new JobConf());

        TypeInformation<Tuple2<Void, Long>> tupleType = hadoopInputFormat.getProducedType();
        TypeInformation<Tuple2<Void, Long>> expectedType =
                new TupleTypeInfo<>(BasicTypeInfo.VOID_TYPE_INFO, BasicTypeInfo.LONG_TYPE_INFO);

        assertThat(tupleType.isTupleType()).isTrue();
        assertThat(tupleType).isEqualTo(expectedType);
    }