public void FindZeroSegmentsTestNoSegments() { var array = new UInt32[] { 1, 0, 0, 1, 2, 3 }; var result = IntegerSegmentUtils.FindZeroSegments(array, 3); Assert.AreEqual(0, result.Count); }
public void FindZeroSegmentsTestSimpleSegment2() { var array = new UInt32[] { 0, 0, 0, 0, 0, 1 }; var result = IntegerSegmentUtils.FindZeroSegments(array, 3); Assert.AreEqual(1, result.Count); Assert.AreEqual(0, result[0].Start); Assert.AreEqual(4, result[0].End); }
public void FindZeroSegmentsTestShortAllZeroSegment() { var array = new UInt32[] { 0, 0, 0, 0, }; var result = IntegerSegmentUtils.FindZeroSegments(array, 4); Assert.AreEqual(1, result.Count); Assert.AreEqual(0, result[0].Start); Assert.AreEqual(3, result[0].End); }
public void FindZeroSegmentsTest1() { var array = new UInt32[] { 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 3, 4, 0, 3, 5 }; var result = IntegerSegmentUtils.FindZeroSegments(array, 4); Assert.AreEqual(1, result.Count); Assert.AreEqual(1, result[0].Start); Assert.AreEqual(5, result[0].End); }
public void FindZeroSegmentsTestThreeSegments() { var array = new UInt32[] { 1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 3, 4, 0, 0, 3, 0, 5 }; var result = IntegerSegmentUtils.FindZeroSegments(array, 2); Assert.AreEqual(3, result.Count); Assert.AreEqual(1, result[0].Start); Assert.AreEqual(5, result[0].End); Assert.AreEqual(9, result[1].Start); Assert.AreEqual(10, result[1].End); Assert.AreEqual(13, result[2].Start); Assert.AreEqual(14, result[2].End); }
public void FindBordersTest() { var flatImage = LoadFlatImageFromResource("ScreenGrid.Tests.Resources.ImageSimple.png"); const int minimalSegmentLength = 8; var step = flatImage.Height / 8; var list = new List <Tuple <int, int> >(); for (var iy = minimalSegmentLength + step; iy < flatImage.Height - (minimalSegmentLength + step); iy += step) { var stripe = flatImage.GetHorizontalStripe(iy); var derivative = FlatImage.GetDerivative(stripe); var segments = IntegerSegmentUtils.FindZeroSegments(derivative, minimalSegmentLength); Assert.AreEqual(2, segments.Count, String.Format("iy={0}", iy)); } }