@Test public void testPojoType2() { TypeInformation<?> ti = TypeInfoParser.parse( "Tuple2<String,Tuple2<Integer,org.apache.flink.api.java.typeutils.TypeInfoParserTest$MyPojo<basic=String>>>"); Assert.assertTrue(ti instanceof TupleTypeInfo); TupleTypeInfo<?> tti = (TupleTypeInfo<?>) ti; Assert.assertTrue(tti.getTypeAt(0) instanceof BasicTypeInfo); Assert.assertTrue(tti.getTypeAt(1) instanceof TupleTypeInfo); TupleTypeInfo<?> tti2 = (TupleTypeInfo<?>) tti.getTypeAt(1); Assert.assertTrue(tti2.getTypeAt(0) instanceof BasicTypeInfo); Assert.assertTrue(tti2.getTypeAt(1) instanceof PojoTypeInfo); PojoTypeInfo<?> pti = (PojoTypeInfo<?>) tti2.getTypeAt(1); Assert.assertEquals("basic", pti.getPojoFieldAt(0).field.getName()); Assert.assertTrue(pti.getPojoFieldAt(0).type instanceof BasicTypeInfo); }
@Test public void testPojoType() { TypeInformation<?> ti = TypeInfoParser.parse( "org.apache.flink.api.java.typeutils.TypeInfoParserTest$MyPojo<" + "basic=Integer," + "tuple=Tuple2<String, Integer>," + "hadoopCitizen=Writable<org.apache.flink.api.java.typeutils.TypeInfoParserTest$MyWritable>," + "array=String[]" + ">"); Assert.assertTrue(ti instanceof PojoTypeInfo); PojoTypeInfo<?> pti = (PojoTypeInfo<?>) ti; Assert.assertEquals("array", pti.getPojoFieldAt(0).field.getName()); Assert.assertTrue(pti.getPojoFieldAt(0).type instanceof BasicArrayTypeInfo); Assert.assertEquals("basic", pti.getPojoFieldAt(1).field.getName()); Assert.assertTrue(pti.getPojoFieldAt(1).type instanceof BasicTypeInfo); Assert.assertEquals("hadoopCitizen", pti.getPojoFieldAt(2).field.getName()); Assert.assertTrue(pti.getPojoFieldAt(2).type instanceof WritableTypeInfo); Assert.assertEquals("tuple", pti.getPojoFieldAt(3).field.getName()); Assert.assertTrue(pti.getPojoFieldAt(3).type instanceof TupleTypeInfo); }