Program: 62986
Project: 62986
Buggy source:
@Test public void testGetSubmissionsFromStudent() throws Exception {
  ______TS("String_Node_Str");
  restoreTypicalDataInDatastore();
  String methodName="String_Node_Str";
  Class<?>[] paramTypes=new Class<?>[]{String.class,String.class,String.class};
  Object[] params=new Object[]{"String_Node_Str","String_Node_Str","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);
  verifyCanAccess(USER_TYPE_COORD,methodName,"String_Node_Str",paramTypes,params);
  ______TS("String_Node_Str");
  restoreTypicalDataInDatastore();
  loginAsAdmin("String_Node_Str");
  EvaluationData evaluation=dataBundle.evaluations.get("String_Node_Str");
  evaluation.name="String_Node_Str";
  logic.createEvaluation(evaluation);
  StudentData student=dataBundle.students.get("String_Node_Str");
  List<SubmissionData> submissions=logic.getSubmissionsFromStudent(evaluation.course,evaluation.name,student.email);
  assertEquals(4,submissions.size());
  for (  SubmissionData s : submissions) {
    assertEquals(evaluation.course,s.course);
    assertEquals(evaluation.name,s.evaluation);
    assertEquals(student.email,s.reviewer);
    assertEquals(student.name,s.reviewerName);
    assertEquals(logic.getStudent(evaluation.course,s.reviewee).name,s.revieweeName);
  }
  ______TS("String_Node_Str");
  ______TS("String_Node_Str");
  verifyNullPointerException(methodName,"String_Node_Str",paramTypes,new Object[]{null,evaluation.name,student.email});
  verifyNullPointerException(methodName,"String_Node_Str",paramTypes,new Object[]{evaluation.course,null,student.email});
  verifyNullPointerException(methodName,"String_Node_Str",paramTypes,new Object[]{evaluation.course,evaluation.name,null});
  ______TS("String_Node_Str");
  verifyEntityDoesNotExistException(methodName,paramTypes,new Object[]{"String_Node_Str",evaluation.name,student.email});
  verifyEntityDoesNotExistException(methodName,paramTypes,new Object[]{evaluation.course,"String_Node_Str",student.email});
  verifyEntityDoesNotExistException(methodName,paramTypes,new Object[]{evaluation.course,evaluation.name,"String_Node_Str"});
}

Fixed version (ground truth):
@Test public void testGetSubmissionsFromStudent() throws Exception {
  ______TS("String_Node_Str");
  restoreTypicalDataInDatastore();
  String methodName="String_Node_Str";
  Class<?>[] paramTypes=new Class<?>[]{String.class,String.class,String.class};
  Object[] params=new Object[]{"String_Node_Str","String_Node_Str","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);
  verifyCanAccess(USER_TYPE_COORD,methodName,"String_Node_Str",paramTypes,params);
  ______TS("String_Node_Str");
  restoreTypicalDataInDatastore();
  loginAsAdmin("String_Node_Str");
  EvaluationData evaluation=dataBundle.evaluations.get("String_Node_Str");
  evaluation.name="String_Node_Str";
  logic.createEvaluation(evaluation);
  StudentData student=dataBundle.students.get("String_Node_Str");
  List<SubmissionData> submissions=logic.getSubmissionsFromStudent(evaluation.course,evaluation.name,student.email);
  assertEquals(4,submissions.size());
  for (  SubmissionData s : submissions) {
    assertEquals(evaluation.course,s.course);
    assertEquals(evaluation.name,s.evaluation);
    assertEquals(student.email,s.reviewer);
    assertEquals(student.name,s.reviewerName);
    assertEquals(logic.getStudent(evaluation.course,s.reviewee).name,s.revieweeName);
  }
  ______TS("String_Node_Str");
  student.team="String_Node_Str";
  logic.editStudent(student.email,student);
  submissions=logic.getSubmissionsFromStudent(evaluation.course,evaluation.name,student.email);
  assertEquals(1,submissions.size());
  ______TS("String_Node_Str");
  verifyNullPointerException(methodName,"String_Node_Str",paramTypes,new Object[]{null,evaluation.name,student.email});
  verifyNullPointerException(methodName,"String_Node_Str",paramTypes,new Object[]{evaluation.course,null,student.email});
  verifyNullPointerException(methodName,"String_Node_Str",paramTypes,new Object[]{evaluation.course,evaluation.name,null});
  ______TS("String_Node_Str");
  verifyEntityDoesNotExistException(methodName,paramTypes,new Object[]{"String_Node_Str",evaluation.name,student.email});
  verifyEntityDoesNotExistException(methodName,paramTypes,new Object[]{evaluation.course,"String_Node_Str",student.email});
  verifyEntityDoesNotExistException(methodName,paramTypes,new Object[]{evaluation.course,evaluation.name,"String_Node_Str"});
}