Program: 57209
Project: 57209
Buggy source:
@Test public void testSplitOverlapping(){
  ArcsSet s35=new ArcsSet(3.0,5.0,1.0e-10);
  ArcsSet s46=new ArcsSet(4.0,6.0,1.0e-10);
  ArcsSet.Split split1=s46.split(new Arc(3.0,5.0,1.0e-10));
  ArcsSet split1Plus=(ArcsSet)split1.getPlus();
  ArcsSet split1Minus=(ArcsSet)split1.getMinus();
  Assert.assertEquals(1.0,split1Plus.getSize(),1.0e-10);
  Assert.assertEquals(1,split1Plus.asList().size());
  Assert.assertEquals(5.0,split1Plus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(6.0,split1Plus.asList().get(0).getSup(),1.0e-10);
  Assert.assertEquals(1.0,split1Minus.getSize(),1.0e-10);
  Assert.assertEquals(1,split1Minus.asList().size());
  Assert.assertEquals(4.0,split1Minus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(5.0,split1Minus.asList().get(0).getSup(),1.0e-10);
  ArcsSet.Split split2=s46.split(new Arc(5.0,3.0 + MathUtils.TWO_PI,1.0e-10));
  ArcsSet split2Plus=(ArcsSet)split2.getPlus();
  ArcsSet split2Minus=(ArcsSet)split2.getMinus();
  Assert.assertEquals(1.0,split2Plus.getSize(),1.0e-10);
  Assert.assertEquals(1,split2Plus.asList().size());
  Assert.assertEquals(4.0,split2Plus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(5.0,split2Plus.asList().get(0).getSup(),1.0e-10);
  Assert.assertEquals(1.0,split2Minus.getSize(),1.0e-10);
  Assert.assertEquals(1,split2Minus.asList().size());
  Assert.assertEquals(5.0,split2Minus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(6.0,split2Minus.asList().get(0).getSup(),1.0e-10);
  ArcsSet.Split split3=s35.split(new Arc(4.0,6.0,1.0e-10));
  ArcsSet split3Plus=(ArcsSet)split3.getPlus();
  ArcsSet split3Minus=(ArcsSet)split3.getMinus();
  Assert.assertEquals(1.0,split3Plus.getSize(),1.0e-10);
  Assert.assertEquals(1,split3Plus.asList().size());
  Assert.assertEquals(3.0,split3Plus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(4.0,split3Plus.asList().get(0).getSup(),1.0e-10);
  Assert.assertEquals(1.0,split3Minus.getSize(),1.0e-10);
  Assert.assertEquals(1,split3Minus.asList().size());
  Assert.assertEquals(4.0,split3Minus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(5.0,split3Minus.asList().get(0).getSup(),1.0e-10);
  ArcsSet.Split split4=s35.split(new Arc(6.0,4.0 + MathUtils.TWO_PI,1.0e-10));
  ArcsSet split4Plus=(ArcsSet)split4.getPlus();
  ArcsSet split4Minus=(ArcsSet)split4.getMinus();
  Assert.assertEquals(1.0,split4Plus.getSize(),1.0e-10);
  Assert.assertEquals(1,split4Plus.asList().size());
  Assert.assertEquals(4.0,split4Plus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(5.0,split4Plus.asList().get(0).getSup(),1.0e-10);
  Assert.assertEquals(1.0,split4Minus.getSize(),1.0e-10);
  Assert.assertEquals(1,split4Minus.asList().size());
  Assert.assertEquals(3.0,split4Minus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(4.0,split4Minus.asList().get(0).getSup(),1.0e-10);
}

Fixed version (ground truth):
@Test public void testSplitOverlapping(){
  ArcsSet s35=new ArcsSet(3.0,5.0,1.0e-10);
  ArcsSet s46=new ArcsSet(4.0,6.0,1.0e-10);
  ArcsSet.Split split1=s46.split(new Arc(3.0,5.0,1.0e-10));
  ArcsSet split1Plus=split1.getPlus();
  ArcsSet split1Minus=split1.getMinus();
  Assert.assertEquals(1.0,split1Plus.getSize(),1.0e-10);
  Assert.assertEquals(1,split1Plus.asList().size());
  Assert.assertEquals(5.0,split1Plus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(6.0,split1Plus.asList().get(0).getSup(),1.0e-10);
  Assert.assertEquals(1.0,split1Minus.getSize(),1.0e-10);
  Assert.assertEquals(1,split1Minus.asList().size());
  Assert.assertEquals(4.0,split1Minus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(5.0,split1Minus.asList().get(0).getSup(),1.0e-10);
  ArcsSet.Split split2=s46.split(new Arc(5.0,3.0 + MathUtils.TWO_PI,1.0e-10));
  ArcsSet split2Plus=split2.getPlus();
  ArcsSet split2Minus=split2.getMinus();
  Assert.assertEquals(1.0,split2Plus.getSize(),1.0e-10);
  Assert.assertEquals(1,split2Plus.asList().size());
  Assert.assertEquals(4.0,split2Plus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(5.0,split2Plus.asList().get(0).getSup(),1.0e-10);
  Assert.assertEquals(1.0,split2Minus.getSize(),1.0e-10);
  Assert.assertEquals(1,split2Minus.asList().size());
  Assert.assertEquals(5.0,split2Minus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(6.0,split2Minus.asList().get(0).getSup(),1.0e-10);
  ArcsSet.Split split3=s35.split(new Arc(4.0,6.0,1.0e-10));
  ArcsSet split3Plus=split3.getPlus();
  ArcsSet split3Minus=split3.getMinus();
  Assert.assertEquals(1.0,split3Plus.getSize(),1.0e-10);
  Assert.assertEquals(1,split3Plus.asList().size());
  Assert.assertEquals(3.0,split3Plus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(4.0,split3Plus.asList().get(0).getSup(),1.0e-10);
  Assert.assertEquals(1.0,split3Minus.getSize(),1.0e-10);
  Assert.assertEquals(1,split3Minus.asList().size());
  Assert.assertEquals(4.0,split3Minus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(5.0,split3Minus.asList().get(0).getSup(),1.0e-10);
  ArcsSet.Split split4=s35.split(new Arc(6.0,4.0 + MathUtils.TWO_PI,1.0e-10));
  ArcsSet split4Plus=split4.getPlus();
  ArcsSet split4Minus=split4.getMinus();
  Assert.assertEquals(1.0,split4Plus.getSize(),1.0e-10);
  Assert.assertEquals(1,split4Plus.asList().size());
  Assert.assertEquals(4.0,split4Plus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(5.0,split4Plus.asList().get(0).getSup(),1.0e-10);
  Assert.assertEquals(1.0,split4Minus.getSize(),1.0e-10);
  Assert.assertEquals(1,split4Minus.asList().size());
  Assert.assertEquals(3.0,split4Minus.asList().get(0).getInf(),1.0e-10);
  Assert.assertEquals(4.0,split4Minus.asList().get(0).getSup(),1.0e-10);
}