Program: 6118
Project: 6118
Buggy source:
@Test public void testSplitDag(){
  ConnectorDag cdag=ConnectorDag.builder().addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addReduceNodes("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str").build();
  cdag.insertConnectors();
  Set<Dag> actual=new HashSet<>(cdag.splitOnConnectors());
  Dag dag1=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag2=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag3=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag4=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag5=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag6=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Set<Dag> expected=ImmutableSet.of(dag1,dag2,dag3,dag4,dag5,dag6);
  Assert.assertEquals(expected,actual);
  cdag=ConnectorDag.builder().addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addReduceNodes("String_Node_Str","String_Node_Str").build();
  cdag.insertConnectors();
  actual=new HashSet<>(cdag.splitOnConnectors());
  dag1=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  dag2=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  dag3=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  expected=ImmutableSet.of(dag1,dag2,dag3);
  Assert.assertEquals(expected,actual);
}

Fixed version (ground truth):
@Test public void testSplitDag(){
  ConnectorDag cdag=ConnectorDag.builder().addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addReduceNodes("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str").build();
  cdag.insertConnectors();
  Set<Dag> actual=new HashSet<>(cdag.split());
  Dag dag1=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag2=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag3=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag4=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag5=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Dag dag6=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  Set<Dag> expected=ImmutableSet.of(dag1,dag2,dag3,dag4,dag5,dag6);
  Assert.assertEquals(expected,actual);
  cdag=ConnectorDag.builder().addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addReduceNodes("String_Node_Str","String_Node_Str").build();
  cdag.insertConnectors();
  actual=new HashSet<>(cdag.split());
  dag1=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  dag2=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  dag3=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  expected=ImmutableSet.of(dag1,dag2,dag3);
  Assert.assertEquals(expected,actual);
  cdag=ConnectorDag.builder().addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addReduceNodes("String_Node_Str","String_Node_Str").build();
  cdag.insertConnectors();
  actual=new HashSet<>(cdag.split());
  dag1=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  dag2=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str")));
  dag3=new Dag(ImmutableSet.of(new Connection("String_Node_Str","String_Node_Str"),new Connection("String_Node_Str","String_Node_Str")));
  expected=ImmutableSet.of(dag1,dag2,dag3);
  Assert.assertEquals(expected,actual);
}