public void testArrayClassCastabilityIsExhaustive() throws UnableToCompleteException {
registerCompilableResources();
// Compiles and gets a reference to the String[] type.
JProgram program = compileSnippet("void", "", "", false);
ComputeExhaustiveCastabilityInformation.exec(program, false);
JDeclaredType stringType = program.getIndexedType("String");
JArrayType stringArrayType = program.getTypeArray(stringType);
// Verifies that String[] casts to the exhaustive list of related array types and Object.
assertSourceCastsToTargets(program, stringArrayType, Sets.newHashSet("java.lang.String[]",
"java.lang.CharSequence[]", "java.lang.Comparable[]", "java.lang.Object[]",
"java.io.Serializable[]", "java.lang.Object", "java.io.Serializable",