Program: 32444
Project: 32444
Buggy source:
public void testChangingSortMode(){
  SortedList<String> names=SortedList.create(new BasicEventList<String>());
  names.setMode(SortedList.AVOID_MOVING_ELEMENTS);
  names.add("String_Node_Str");
  names.add("String_Node_Str");
  names.add("String_Node_Str");
  names.add("String_Node_Str");
  names.set(0,"String_Node_Str");
  names.set(1,"String_Node_Str");
  names.set(2,"String_Node_Str");
  names.set(3,"String_Node_Str");
  assertEquals("String_Node_Str",names.get(0));
  assertEquals("String_Node_Str",names.get(1));
  assertEquals("String_Node_Str",names.get(2));
  assertEquals("String_Node_Str",names.get(3));
  names.setMode(SortedList.STRICT_SORT_ORDER);
  assertEquals("String_Node_Str",names.get(0));
  assertEquals("String_Node_Str",names.get(1));
  assertEquals("String_Node_Str",names.get(2));
  assertEquals("String_Node_Str",names.get(3));
  names.setMode(SortedList.AVOID_MOVING_ELEMENTS);
  names.add("String_Node_Str");
  assertEquals("String_Node_Str",names.get(0));
  assertEquals("String_Node_Str",names.get(1));
  assertEquals("String_Node_Str",names.get(2));
  assertEquals("String_Node_Str",names.get(3));
  assertEquals("String_Node_Str",names.get(4));
  names.set(1,"String_Node_Str");
  assertEquals("String_Node_Str",names.get(0));
  assertEquals("String_Node_Str",names.get(1));
  assertEquals("String_Node_Str",names.get(2));
  assertEquals("String_Node_Str",names.get(3));
  assertEquals("String_Node_Str",names.get(4));
}

Fixed version (ground truth):
public void testChangingSortMode(){
  SortedList<String> names=SortedList.create(new BasicEventList<String>());
  names.setMode(SortedList.AVOID_MOVING_ELEMENTS);
  names.add("String_Node_Str");
  names.add("String_Node_Str");
  names.add("String_Node_Str");
  names.add("String_Node_Str");
  names.set(0,"String_Node_Str");
  names.set(1,"String_Node_Str");
  names.set(2,"String_Node_Str");
  names.set(3,"String_Node_Str");
  assertEquals("String_Node_Str",names.get(0));
  assertEquals("String_Node_Str",names.get(1));
  assertEquals("String_Node_Str",names.get(2));
  assertEquals("String_Node_Str",names.get(3));
  assertEquals(0,names.indexOf("String_Node_Str"));
  assertEquals(1,names.indexOf("String_Node_Str"));
  assertEquals(2,names.indexOf("String_Node_Str"));
  assertEquals(3,names.indexOf("String_Node_Str"));
  names.setMode(SortedList.STRICT_SORT_ORDER);
  assertEquals("String_Node_Str",names.get(0));
  assertEquals("String_Node_Str",names.get(1));
  assertEquals("String_Node_Str",names.get(2));
  assertEquals("String_Node_Str",names.get(3));
  assertEquals(0,names.indexOf("String_Node_Str"));
  assertEquals(1,names.indexOf("String_Node_Str"));
  assertEquals(2,names.indexOf("String_Node_Str"));
  assertEquals(3,names.indexOf("String_Node_Str"));
  names.setMode(SortedList.AVOID_MOVING_ELEMENTS);
  names.add("String_Node_Str");
  assertEquals("String_Node_Str",names.get(0));
  assertEquals("String_Node_Str",names.get(1));
  assertEquals("String_Node_Str",names.get(2));
  assertEquals("String_Node_Str",names.get(3));
  assertEquals("String_Node_Str",names.get(4));
  assertEquals(0,names.indexOf("String_Node_Str"));
  assertEquals(1,names.indexOf("String_Node_Str"));
  assertEquals(2,names.indexOf("String_Node_Str"));
  assertEquals(3,names.indexOf("String_Node_Str"));
  assertEquals(4,names.indexOf("String_Node_Str"));
  names.set(1,"String_Node_Str");
  assertEquals("String_Node_Str",names.get(0));
  assertEquals("String_Node_Str",names.get(1));
  assertEquals("String_Node_Str",names.get(2));
  assertEquals("String_Node_Str",names.get(3));
  assertEquals("String_Node_Str",names.get(4));
  assertEquals(0,names.indexOf("String_Node_Str"));
  assertEquals(1,names.indexOf("String_Node_Str"));
  assertEquals(2,names.indexOf("String_Node_Str"));
  assertEquals(3,names.indexOf("String_Node_Str"));
  assertEquals(4,names.indexOf("String_Node_Str"));
}