Program: 63014
Project: 63014
Buggy source:
@Test public void testGetStudentWithId() throws Exception {
  ______TS("String_Node_Str");
  restoreTypicalDataInDatastore();
  String methodName="String_Node_Str";
  Class<?>[] paramTypes=new Class<?>[]{String.class};
  Object[] params=new Object[]{"String_Node_Str"};
  verifyCannotAccess(USER_TYPE_NOT_LOGGED_IN,methodName,"String_Node_Str",paramTypes,params);
  verifyCannotAccess(USER_TYPE_UNREGISTERED,methodName,"String_Node_Str",paramTypes,params);
  verifyCannotAccess(USER_TYPE_STUDENT,methodName,"String_Node_Str",paramTypes,params);
  verifyCanAccess(USER_TYPE_STUDENT,methodName,"String_Node_Str",paramTypes,params);
  verifyCannotAccess(USER_TYPE_COORD,methodName,"String_Node_Str",paramTypes,params);
  ______TS("String_Node_Str");
  loginAsAdmin("String_Node_Str");
  restoreTypicalDataInDatastore();
  StudentData studentInOneCourse=dataBundle.students.get("String_Node_Str");
  assertEquals(1,logic.getStudentsWithId(studentInOneCourse.id).size());
  assertEquals(studentInOneCourse.email,logic.getStudentsWithId(studentInOneCourse.id).get(0).email);
  assertEquals(studentInOneCourse.name,logic.getStudentsWithId(studentInOneCourse.id).get(0).name);
  assertEquals(studentInOneCourse.course,logic.getStudentsWithId(studentInOneCourse.id).get(0).course);
  ______TS("String_Node_Str");
  StudentData studentInTwoCoursesInCourse1=dataBundle.students.get("String_Node_Str");
  ArrayList<StudentData> listReceivedUsingStudentInCourse1=logic.getStudentsWithId(studentInTwoCoursesInCourse1.id);
  assertEquals(2,listReceivedUsingStudentInCourse1.size());
  StudentData studentInTwoCoursesInCourse2=dataBundle.students.get("String_Node_Str");
  ArrayList<StudentData> listReceivedUsingStudentInCourse2=logic.getStudentsWithId(studentInTwoCoursesInCourse2.id);
  assertEquals(2,listReceivedUsingStudentInCourse2.size());
  StudentData firstStudentReceived=listReceivedUsingStudentInCourse1.get(0);
  assertEquals(studentInTwoCoursesInCourse2.email,firstStudentReceived.email);
  assertEquals(studentInTwoCoursesInCourse2.name,firstStudentReceived.name);
  assertEquals(studentInTwoCoursesInCourse2.course,firstStudentReceived.course);
  StudentData secondStudentReceived=listReceivedUsingStudentInCourse1.get(1);
  assertEquals(studentInTwoCoursesInCourse1.email,secondStudentReceived.email);
  assertEquals(studentInTwoCoursesInCourse1.name,secondStudentReceived.name);
  assertEquals(studentInTwoCoursesInCourse1.course,secondStudentReceived.course);
  ______TS("String_Node_Str");
  assertEquals(null,logic.getStudentsWithId("String_Node_Str"));
}

Fixed version (ground truth):
@Test public void testGetStudentWithId() throws Exception {
  ______TS("String_Node_Str");
  restoreTypicalDataInDatastore();
  String methodName="String_Node_Str";
  Class<?>[] paramTypes=new Class<?>[]{String.class};
  Object[] params=new Object[]{"String_Node_Str"};
  verifyCannotAccess(USER_TYPE_NOT_LOGGED_IN,methodName,"String_Node_Str",paramTypes,params);
  verifyCannotAccess(USER_TYPE_UNREGISTERED,methodName,"String_Node_Str",paramTypes,params);
  verifyCannotAccess(USER_TYPE_STUDENT,methodName,"String_Node_Str",paramTypes,params);
  verifyCanAccess(USER_TYPE_STUDENT,methodName,"String_Node_Str",paramTypes,params);
  verifyCannotAccess(USER_TYPE_COORD,methodName,"String_Node_Str",paramTypes,params);
  ______TS("String_Node_Str");
  loginAsAdmin("String_Node_Str");
  restoreTypicalDataInDatastore();
  StudentData studentInOneCourse=dataBundle.students.get("String_Node_Str");
  assertEquals(1,logic.getStudentsWithId(studentInOneCourse.id).size());
  assertEquals(studentInOneCourse.email,logic.getStudentsWithId(studentInOneCourse.id).get(0).email);
  assertEquals(studentInOneCourse.name,logic.getStudentsWithId(studentInOneCourse.id).get(0).name);
  assertEquals(studentInOneCourse.course,logic.getStudentsWithId(studentInOneCourse.id).get(0).course);
  ______TS("String_Node_Str");
  StudentData studentInTwoCoursesInCourse1=dataBundle.students.get("String_Node_Str");
  ArrayList<StudentData> listReceivedUsingStudentInCourse1=logic.getStudentsWithId(studentInTwoCoursesInCourse1.id);
  assertEquals(2,listReceivedUsingStudentInCourse1.size());
  StudentData studentInTwoCoursesInCourse2=dataBundle.students.get("String_Node_Str");
  ArrayList<StudentData> listReceivedUsingStudentInCourse2=logic.getStudentsWithId(studentInTwoCoursesInCourse2.id);
  assertEquals(2,listReceivedUsingStudentInCourse2.size());
  StudentData firstStudentReceived=listReceivedUsingStudentInCourse1.get(0);
  assertEquals(studentInTwoCoursesInCourse2.email,firstStudentReceived.email);
  assertEquals(studentInTwoCoursesInCourse2.name,firstStudentReceived.name);
  assertEquals(studentInTwoCoursesInCourse2.course,firstStudentReceived.course);
  StudentData secondStudentReceived=listReceivedUsingStudentInCourse1.get(1);
  assertEquals(studentInTwoCoursesInCourse1.email,secondStudentReceived.email);
  assertEquals(studentInTwoCoursesInCourse1.name,secondStudentReceived.name);
  assertEquals(studentInTwoCoursesInCourse1.course,secondStudentReceived.course);
  ______TS("String_Node_Str");
  assertEquals(0,logic.getStudentsWithId("String_Node_Str").size());
}