public void TestSegment()
{
List<float> counts = new List<float>() {100, 90, 110, 100, 95, 105};
CanvasSegment seg1 = new CanvasSegment("chr17", 100000000, 110000000, counts);
// Silly constructor tests:
Assert.AreEqual(seg1.Begin, 100000000);
Assert.AreEqual(seg1.End, 110000000);
Assert.AreEqual(seg1.BinCount, counts.Count);
Assert.AreEqual(seg1.Chr, "chr17");
// Property test:
Assert.AreEqual(seg1.MeanCount, 100, 0.01);
// Build a second segment, and merge them, and test results:
CanvasSegment seg2 = new CanvasSegment("chr17", 110000000, 120000000, counts);
seg1.MergeIn(seg2);
Assert.AreEqual(seg1.Counts.Count, 12);
Assert.AreEqual(seg1.End, seg2.End);
}