Program: 63015
Project: 63015
Buggy source:
@Test public void testGetCourseDetails() 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);
  verifyCannotAccess(USER_TYPE_COORD,methodName,"String_Node_Str",paramTypes,new Object[]{"String_Node_Str"});
  verifyCanAccess(USER_TYPE_COORD,methodName,"String_Node_Str",paramTypes,params);
  ______TS("String_Node_Str");
  loginAsAdmin("String_Node_Str");
  CourseData course=dataBundle.courses.get("String_Node_Str");
  CourseData courseDetials=logic.getCourseDetails(course.id);
  assertEquals(course.id,courseDetials.id);
  assertEquals(course.name,courseDetials.name);
  assertEquals(2,courseDetials.teamsTotal);
  assertEquals(5,courseDetials.studentsTotal);
  assertEquals(0,courseDetials.unregisteredTotal);
  ______TS("String_Node_Str");
  logic.createCourse("String_Node_Str","String_Node_Str","String_Node_Str");
  courseDetials=logic.getCourseDetails("String_Node_Str");
  assertEquals("String_Node_Str",courseDetials.id);
  assertEquals("String_Node_Str",courseDetials.name);
  assertEquals(0,courseDetials.teamsTotal);
  assertEquals(0,courseDetials.studentsTotal);
  assertEquals(0,courseDetials.unregisteredTotal);
  ______TS("String_Node_Str");
  try {
    logic.getCourseDetails("String_Node_Str");
    fail();
  }
 catch (  EntityDoesNotExistException e) {
    BaseTestCase.assertContains("String_Node_Str",e.getMessage());
  }
}

Fixed version (ground truth):
@Test public void testGetCourseDetails() 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,new Object[]{"String_Node_Str"});
  verifyCanAccess(USER_TYPE_COORD,methodName,"String_Node_Str",paramTypes,params);
  ______TS("String_Node_Str");
  loginAsAdmin("String_Node_Str");
  CourseData course=dataBundle.courses.get("String_Node_Str");
  CourseData courseDetials=logic.getCourseDetails(course.id);
  assertEquals(course.id,courseDetials.id);
  assertEquals(course.name,courseDetials.name);
  assertEquals(2,courseDetials.teamsTotal);
  assertEquals(5,courseDetials.studentsTotal);
  assertEquals(0,courseDetials.unregisteredTotal);
  ______TS("String_Node_Str");
  logic.createCourse("String_Node_Str","String_Node_Str","String_Node_Str");
  courseDetials=logic.getCourseDetails("String_Node_Str");
  assertEquals("String_Node_Str",courseDetials.id);
  assertEquals("String_Node_Str",courseDetials.name);
  assertEquals(0,courseDetials.teamsTotal);
  assertEquals(0,courseDetials.studentsTotal);
  assertEquals(0,courseDetials.unregisteredTotal);
  ______TS("String_Node_Str");
  try {
    logic.getCourseDetails("String_Node_Str");
    fail();
  }
 catch (  EntityDoesNotExistException e) {
    BaseTestCase.assertContains("String_Node_Str",e.getMessage());
  }
}