}
TreeLogger logger = createLogger();
TypeOracle to = TypeOracleTestingUtils.buildTypeOracle(logger, resources);
JGenericType a = to.getType("A").isGenericType();
JGenericType b = to.getType("B").isGenericType();
JGenericType alist = to.getType("AList").isGenericType();
JGenericType blist = to.getType("BList").isGenericType();
JClassType ser1 = to.getType("Ser1");
JClassType ser2 = to.getType("Ser2");
JClassType root = to.getType("Root");
SerializableTypeOracleBuilder sob = createSerializableTypeOracleBuilder(logger, to);
sob.addRootType(logger, root);
assertEquals(EXPOSURE_DIRECT, sob.getTypeParameterExposure(a, 0));
assertEquals(EXPOSURE_NONE, sob.getTypeParameterExposure(b, 0));
assertEquals(EXPOSURE_DIRECT, sob.getTypeParameterExposure(alist, 0));
assertEquals(EXPOSURE_NONE, sob.getTypeParameterExposure(blist, 0));
SerializableTypeOracle so = sob.build(logger);
JArrayType aArray = to.getArrayType(a.getRawType());
JArrayType bArray = to.getArrayType(b.getRawType());
assertSerializableTypes(so, root, alist.getRawType(), blist.getRawType(), aArray, bArray, a
.getRawType(), b.getRawType(), ser1);
assertInstantiable(so, alist.getRawType());
assertInstantiable(so, blist.getRawType());
assertInstantiable(so, a.getRawType());
assertInstantiable(so, b.getRawType());
assertInstantiable(so, aArray);
assertInstantiable(so, bArray);
assertInstantiable(so, ser1);