test_class.file: CodeSmells/src/reggie/TestReport.java
test_class.identifier: TestReport
test_case.body: @Test
  	public void testReport() throws Exception {
  		Schedule.deleteAll();
  
  		Course cs101 = Course.create("CS101", 3);
  		cs101.update();
  		Offering off1 = Offering.create(cs101, "M10");
  		off1.update();
  		Offering off2 = Offering.create(cs101, "T9");
  		off2.update();
  
  		Schedule s = Schedule.create("Bob");
  		s.add(off1);
  		s.add(off2);
  		s.update();
  
  		Schedule s2 = Schedule.create("Alice");
  		s2.add(off1);
  		s2.update();
  
  		Report report = new Report();
  
  		StringBuffer buffer = new StringBuffer();
  
  		report.write(buffer);
  
  		String result = buffer.toString();
  		String valid1 = "CS101 M10\n\tAlice\n\tBob\n" + "CS101 T9\n\tBob\n"
  				+ "Number of scheduled offerings: 2\n";
  
  		String valid2 = "CS101 T9\n\tBob\n" + "CS101 M10\n\tAlice\n\tBob\n"
  				+ "Number of scheduled offerings: 2\n";
  		assertTrue(result.equals(valid1) || result.equals(valid2));
  	}
test_case.class_method_signature: TestReport.testReport()
test_case.full_signature: @Test public void testReport()
test_case.identifier: testReport
test_case.invocations: deleteAll create update create update create update create add add update create add update write toString assertTrue equals equals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testReport()
focal_class.declarator: offeringToName = new Hashtable<Integer, ArrayList<String>>()
focal_class.original_string: Hashtable<Integer, ArrayList<String>> offeringToName = new Hashtable<Integer, ArrayList<String>>();
focal_class.type: Hashtable<Integer, ArrayList<String>>
focal_class.var_name: offeringToName
focal_class.file: CodeSmells/src/reggie/Report.java
focal_class.identifier: Report
focal_class.class_method_signature: Report.Report()
focal_class.full_signature: public  Report()
focal_class.identifier: Report
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  Report()
focal_class.class_method_signature: Report.populateMap()
focal_class.full_signature: public void populateMap()
focal_class.identifier: populateMap
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void populateMap()
focal_class.class_method_signature: Report.populateMapFor(Schedule schedule, Offering offering)
focal_class.full_signature: private void populateMapFor(Schedule schedule, Offering offering)
focal_class.identifier: populateMapFor
focal_class.modifiers: private
focal_class.parameters: (Schedule schedule, Offering offering)
focal_class.return: void
focal_class.signature: void populateMapFor(Schedule schedule, Offering offering)
focal_class.class_method_signature: Report.writeOffering(StringBuffer buffer, ArrayList<String> list,
  			Offering offering)
focal_class.full_signature: public void writeOffering(StringBuffer buffer, ArrayList<String> list,
  			Offering offering)
focal_class.identifier: writeOffering
focal_class.modifiers: public
focal_class.parameters: (StringBuffer buffer, ArrayList<String> list,
  			Offering offering)
focal_class.return: void
focal_class.signature: void writeOffering(StringBuffer buffer, ArrayList<String> list,
  			Offering offering)
focal_class.class_method_signature: Report.write(StringBuffer buffer)
focal_class.full_signature: public void write(StringBuffer buffer)
focal_class.identifier: write
focal_class.modifiers: public
focal_class.parameters: (StringBuffer buffer)
focal_class.return: void
focal_class.signature: void write(StringBuffer buffer)
focal_method.body: public Report() {
  	}
focal_method.class_method_signature: Report.Report()
focal_method.full_signature: public  Report()
focal_method.identifier: Report
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.signature:  Report()