Program: 90212
Project: 90212
Buggy source:
public void testGetSortedFile() throws Exception {
  File f=new File(TestInfo.WORKING_DIR,"String_Node_Str");
  assertFalse("String_Node_Str",f.exists());
  final List<String> list1=Arrays.asList(new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"});
  FileUtils.writeCollectionToFile(f,list1);
  File sortedFileRaw=new File(TestInfo.WORKING_DIR,"String_Node_Str");
  assertFalse("String_Node_Str",sortedFileRaw.exists());
  File sortedFileGen=WorkFiles.getSortedFile(f);
  assertEquals("String_Node_Str",sortedFileRaw,sortedFileGen);
  assertTrue("String_Node_Str",sortedFileGen.exists());
  Collections.sort(list1);
  CollectionAsserts.assertIteratorEquals("String_Node_Str",list1.iterator(),FileUtils.readListFromFile(sortedFileGen).iterator());
  final List<String> list2=Arrays.asList(new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"});
  FileUtils.writeCollectionToFile(f,list2);
  File sortedFileGen2=WorkFiles.getSortedFile(f);
  assertEquals("String_Node_Str",sortedFileRaw,sortedFileGen2);
  assertTrue("String_Node_Str",sortedFileGen2.exists());
  Collections.sort(list2);
  CollectionAsserts.assertIteratorEquals("String_Node_Str",list2.iterator(),FileUtils.readListFromFile(sortedFileGen2).iterator());
  sortedFileGen2.delete();
  FileUtils.writeCollectionToFile(f,list1);
  assertFalse("String_Node_Str",sortedFileRaw.exists());
  sortedFileGen=WorkFiles.getSortedFile(f);
  assertEquals("String_Node_Str",sortedFileRaw,sortedFileGen);
  assertTrue("String_Node_Str",sortedFileGen.exists());
  Collections.sort(list1);
  CollectionAsserts.assertIteratorEquals("String_Node_Str",list1.iterator(),FileUtils.readListFromFile(sortedFileGen).iterator());
  f.delete();
  try {
    sortedFileGen=WorkFiles.getSortedFile(f);
    fail("String_Node_Str");
  }
 catch (  IOFailure e) {
  }
  final List<String> empty=Collections.emptyList();
  FileUtils.writeCollectionToFile(f,empty);
  sortedFileGen=WorkFiles.getSortedFile(f);
  assertEquals("String_Node_Str",empty,FileUtils.readListFromFile(sortedFileGen));
}

Fixed version (ground truth):
public void testGetSortedFile() throws Exception {
  File f=new File(TestInfo.WORKING_DIR,"String_Node_Str");
  assertFalse("String_Node_Str",f.exists());
  final List<String> list1=Arrays.asList(new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"});
  FileUtils.writeCollectionToFile(f,list1);
  File sortedFileRaw=new File(TestInfo.WORKING_DIR,"String_Node_Str").getAbsoluteFile();
  assertFalse("String_Node_Str",sortedFileRaw.exists());
  File sortedFileGen=WorkFiles.getSortedFile(f).getAbsoluteFile();
  assertEquals("String_Node_Str",sortedFileRaw,sortedFileGen);
  assertTrue("String_Node_Str",sortedFileGen.exists());
  Collections.sort(list1);
  CollectionAsserts.assertIteratorEquals("String_Node_Str",list1.iterator(),FileUtils.readListFromFile(sortedFileGen).iterator());
  final List<String> list2=Arrays.asList(new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"});
  FileUtils.writeCollectionToFile(f,list2);
  File sortedFileGen2=WorkFiles.getSortedFile(f);
  assertEquals("String_Node_Str",sortedFileRaw,sortedFileGen2);
  assertTrue("String_Node_Str",sortedFileGen2.exists());
  Collections.sort(list2);
  CollectionAsserts.assertIteratorEquals("String_Node_Str",list2.iterator(),FileUtils.readListFromFile(sortedFileGen2).iterator());
  sortedFileGen2.delete();
  FileUtils.writeCollectionToFile(f,list1);
  assertFalse("String_Node_Str",sortedFileRaw.exists());
  sortedFileGen=WorkFiles.getSortedFile(f);
  assertEquals("String_Node_Str",sortedFileRaw,sortedFileGen);
  assertTrue("String_Node_Str",sortedFileGen.exists());
  Collections.sort(list1);
  CollectionAsserts.assertIteratorEquals("String_Node_Str",list1.iterator(),FileUtils.readListFromFile(sortedFileGen).iterator());
  f.delete();
  try {
    sortedFileGen=WorkFiles.getSortedFile(f);
    fail("String_Node_Str");
  }
 catch (  IOFailure e) {
  }
  final List<String> empty=Collections.emptyList();
  FileUtils.writeCollectionToFile(f,empty);
  sortedFileGen=WorkFiles.getSortedFile(f);
  assertEquals("String_Node_Str",empty,FileUtils.readListFromFile(sortedFileGen));
}