Program: 33344
Project: 33344
Buggy source:
@Test public void testHashCodePositive(){
  FunctionMapKey key=new FunctionMapKey(fqn,null,null,null);
  FunctionMapKey someKey=new FunctionMapKey(fqn,null,null,null);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,null,true,null);
  someKey=new FunctionMapKey(fqn,null,true,null);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,fqnType,true,null);
  someKey=new FunctionMapKey(fqn,fqnType,true,null);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,fqnType,false,null);
  someKey=new FunctionMapKey(fqn,fqnType,false,null);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,fqnType,false,new ArrayList<String>());
  someKey=new FunctionMapKey(fqn,fqnType,false,new ArrayList<String>());
  assertEquals(key.hashCode(),someKey.hashCode());
  List<String> keyList=new ArrayList<String>();
  keyList.add("String_Node_Str");
  List<String> someKeyList=new ArrayList<String>();
  someKeyList.add("String_Node_Str");
  key=new FunctionMapKey(fqn,fqnType,false,keyList);
  someKey=new FunctionMapKey(fqn,fqnType,false,someKeyList);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,null,null,new ArrayList<String>());
  someKey=new FunctionMapKey(fqn,null,null,new ArrayList<String>());
  assertEquals(key.hashCode(),someKey.hashCode());
  keyList=new ArrayList<String>();
  keyList.add("String_Node_Str");
  someKeyList=new ArrayList<String>();
  someKeyList.add("String_Node_Str");
  key=new FunctionMapKey(fqn,null,null,keyList);
  someKey=new FunctionMapKey(fqn,null,null,someKeyList);
  assertEquals(key.hashCode(),someKey.hashCode());
}

Fixed version (ground truth):
@Test public void testHashCodePositive(){
  FunctionMapKey key=new FunctionMapKey(fqn,null,null,null);
  FunctionMapKey someKey=new FunctionMapKey(fqn,null,null,null);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,null,true,null);
  someKey=new FunctionMapKey(fqn,null,true,null);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,fqnType,true,null);
  someKey=new FunctionMapKey(fqn,fqnType,true,null);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,fqnType,false,null);
  someKey=new FunctionMapKey(fqn,fqnType,false,null);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,fqnType,false,new ArrayList<String>());
  someKey=new FunctionMapKey(fqn,fqnType,false,new ArrayList<String>());
  assertEquals(key.hashCode(),someKey.hashCode());
  List<String> keyList=new ArrayList<String>();
  keyList.add("String_Node_Str");
  List<String> someKeyList=new ArrayList<String>();
  someKeyList.add("String_Node_Str");
  key=new FunctionMapKey(fqn,fqnType,false,keyList);
  someKey=new FunctionMapKey(fqn,fqnType,false,someKeyList);
  assertEquals(key.hashCode(),someKey.hashCode());
  key=new FunctionMapKey(fqn,null,null,new ArrayList<String>());
  someKey=new FunctionMapKey(fqn,null,null,new ArrayList<String>());
  assertEquals(key.hashCode(),someKey.hashCode());
  keyList=new ArrayList<String>();
  keyList.add("String_Node_Str");
  someKeyList=new ArrayList<String>();
  someKeyList.add("String_Node_Str");
  key=new FunctionMapKey(fqn,null,null,keyList);
  someKey=new FunctionMapKey(fqn,null,null,someKeyList);
  assertEquals(key.hashCode(),someKey.hashCode());
  keyList=new ArrayList<String>();
  keyList.add("String_Node_Str");
  keyList.add("String_Node_Str");
  someKeyList=new ArrayList<String>();
  someKeyList.add("String_Node_Str");
  someKeyList.add("String_Node_Str");
  key=new FunctionMapKey(fqn,null,null,keyList);
  someKey=new FunctionMapKey(fqn,null,null,someKeyList);
  assertEquals(key.hashCode(),someKey.hashCode());
  keyList=new ArrayList<String>();
  keyList.add("String_Node_Str");
  keyList.add("String_Node_Str");
  someKeyList=new ArrayList<String>();
  someKeyList.add("String_Node_Str");
  someKeyList.add("String_Node_Str");
  key=new FunctionMapKey(fqn,null,null,keyList);
  someKey=new FunctionMapKey(fqn,null,null,someKeyList);
  assertEquals(key.hashCode(),someKey.hashCode());
}