Program: 28179
Project: 28179
Buggy source:
/** 
 * Tests the   {@link JSType#testForEquality(JSType)} method.
 */
public void testTestForEquality(){
  compare(TRUE,NO_OBJECT_TYPE,NO_OBJECT_TYPE);
  compare(UNKNOWN,ALL_TYPE,ALL_TYPE);
  compare(TRUE,NO_TYPE,NO_TYPE);
  compare(UNKNOWN,NO_OBJECT_TYPE,NUMBER_TYPE);
  compare(UNKNOWN,ALL_TYPE,NUMBER_TYPE);
  compare(UNKNOWN,NO_TYPE,NUMBER_TYPE);
  compare(FALSE,NULL_TYPE,BOOLEAN_TYPE);
  compare(TRUE,NULL_TYPE,NULL_TYPE);
  compare(FALSE,NULL_TYPE,NUMBER_TYPE);
  compare(FALSE,NULL_TYPE,OBJECT_TYPE);
  compare(FALSE,NULL_TYPE,STRING_TYPE);
  compare(TRUE,NULL_TYPE,VOID_TYPE);
  compare(UNKNOWN,NULL_TYPE,createUnionType(UNKNOWN_TYPE,VOID_TYPE));
  compare(UNKNOWN,NULL_TYPE,createUnionType(OBJECT_TYPE,VOID_TYPE));
  compare(UNKNOWN,NULL_TYPE,unresolvedNamedType);
  compare(UNKNOWN,NULL_TYPE,createUnionType(unresolvedNamedType,DATE_TYPE));
  compare(FALSE,VOID_TYPE,REGEXP_TYPE);
  compare(TRUE,VOID_TYPE,VOID_TYPE);
  compare(UNKNOWN,VOID_TYPE,createUnionType(REGEXP_TYPE,VOID_TYPE));
  compare(UNKNOWN,NUMBER_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,NUMBER_TYPE,NUMBER_TYPE);
  compare(UNKNOWN,NUMBER_TYPE,OBJECT_TYPE);
  compare(UNKNOWN,ARRAY_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,OBJECT_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,OBJECT_TYPE,STRING_TYPE);
  compare(UNKNOWN,STRING_TYPE,STRING_TYPE);
  compare(UNKNOWN,STRING_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,STRING_TYPE,NUMBER_TYPE);
  compare(FALSE,STRING_TYPE,VOID_TYPE);
  compare(FALSE,STRING_TYPE,NULL_TYPE);
  compare(FALSE,STRING_TYPE,createUnionType(NULL_TYPE,VOID_TYPE));
  compare(UNKNOWN,UNKNOWN_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,UNKNOWN_TYPE,NULL_TYPE);
  compare(UNKNOWN,UNKNOWN_TYPE,VOID_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,BOOLEAN_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,NUMBER_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,STRING_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,VOID_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,NULL_TYPE);
  compare(UNKNOWN,U2U_CONSTRUCTOR_TYPE,OBJECT_TYPE);
  compare(UNKNOWN,U2U_CONSTRUCTOR_TYPE,ALL_TYPE);
}

Fixed version (ground truth):
/** 
 * Tests the   {@link JSType#testForEquality(JSType)} method.
 */
public void testTestForEquality(){
  compare(TRUE,NO_OBJECT_TYPE,NO_OBJECT_TYPE);
  compare(UNKNOWN,ALL_TYPE,ALL_TYPE);
  compare(TRUE,NO_TYPE,NO_TYPE);
  compare(UNKNOWN,NO_OBJECT_TYPE,NUMBER_TYPE);
  compare(UNKNOWN,ALL_TYPE,NUMBER_TYPE);
  compare(UNKNOWN,NO_TYPE,NUMBER_TYPE);
  compare(FALSE,NULL_TYPE,BOOLEAN_TYPE);
  compare(TRUE,NULL_TYPE,NULL_TYPE);
  compare(FALSE,NULL_TYPE,NUMBER_TYPE);
  compare(FALSE,NULL_TYPE,OBJECT_TYPE);
  compare(FALSE,NULL_TYPE,STRING_TYPE);
  compare(TRUE,NULL_TYPE,VOID_TYPE);
  compare(UNKNOWN,NULL_TYPE,createUnionType(UNKNOWN_TYPE,VOID_TYPE));
  compare(UNKNOWN,NULL_TYPE,createUnionType(OBJECT_TYPE,VOID_TYPE));
  compare(UNKNOWN,NULL_TYPE,unresolvedNamedType);
  compare(UNKNOWN,NULL_TYPE,createUnionType(unresolvedNamedType,DATE_TYPE));
  compare(FALSE,VOID_TYPE,REGEXP_TYPE);
  compare(TRUE,VOID_TYPE,VOID_TYPE);
  compare(UNKNOWN,VOID_TYPE,createUnionType(REGEXP_TYPE,VOID_TYPE));
  compare(UNKNOWN,NUMBER_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,NUMBER_TYPE,NUMBER_TYPE);
  compare(UNKNOWN,NUMBER_TYPE,OBJECT_TYPE);
  compare(UNKNOWN,ARRAY_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,OBJECT_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,OBJECT_TYPE,STRING_TYPE);
  compare(UNKNOWN,STRING_TYPE,STRING_TYPE);
  compare(UNKNOWN,STRING_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,STRING_TYPE,NUMBER_TYPE);
  compare(FALSE,STRING_TYPE,VOID_TYPE);
  compare(FALSE,STRING_TYPE,NULL_TYPE);
  compare(FALSE,STRING_TYPE,createUnionType(NULL_TYPE,VOID_TYPE));
  compare(UNKNOWN,UNKNOWN_TYPE,BOOLEAN_TYPE);
  compare(UNKNOWN,UNKNOWN_TYPE,NULL_TYPE);
  compare(UNKNOWN,UNKNOWN_TYPE,VOID_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,BOOLEAN_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,NUMBER_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,STRING_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,VOID_TYPE);
  compare(FALSE,U2U_CONSTRUCTOR_TYPE,NULL_TYPE);
  compare(UNKNOWN,U2U_CONSTRUCTOR_TYPE,OBJECT_TYPE);
  compare(UNKNOWN,U2U_CONSTRUCTOR_TYPE,ALL_TYPE);
  compare(UNKNOWN,NULL_TYPE,subclassOfUnresolvedNamedType);
  JSType functionAndNull=createUnionType(NULL_TYPE,dateMethod);
  compare(UNKNOWN,functionAndNull,dateMethod);
}