Assert.assertTrue(Math.abs(sum2.getValue() - compl1.getValue()) < PREC);
}
@Test(enabled = false)
public void testCannyRate1() {
OnlineCannyRateSummarizer sum = new OnlineCannyRateSummarizer(5d), sum1 = new OnlineCannyRateSummarizer(5d), sum2 =
new OnlineCannyRateSummarizer(5d);
sum.update(1, 1);
sum1.update(1, 1);
sum.update(2, 2);
sum1.update(2, 2);
sum.update(4, 4);
sum2.update(4, 4);
// sum1.update(0, 4); // connect sum1 to sum2 interval -- needed for
// complement to work.. well, at least one of the scenarios.
sum.update(5, 5);
sum2.update(5, 5);
OnlineCannyRateSummarizer combined = IOUtil.tryClone(sum1);
combined.combine(sum2);
OnlineCannyRateSummarizer compl1 = IOUtil.tryClone(sum);
compl1.complement(sum1, false);
OnlineCannyRateSummarizer compl2 = IOUtil.tryClone(sum);
compl2.complement(sum2, false);
Assert.assertTrue(Math.abs(sum.getValue() - combined.getValue()) < PREC);
Assert.assertTrue(Math.abs(sum2.getValue() - compl1.getValue()) < PREC);
Assert.assertTrue(Math.abs(sum1.getValue() - compl2.getValue()) < PREC);
}