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 IntersectionOfSegmentsNoIntersection() { var result = IntegerSegmentUtils.IntersectionOfSegments( new IntegerSegment(1, 2), new IntegerSegment(4, 5)); Assert.AreEqual(IntegerSegment.Zero, result); }
public void IntersectionOfSegmentsPartialIntersection() { var a = new IntegerSegment(1, 4); var b = new IntegerSegment(2, 8); Assert.AreEqual(new IntegerSegment(2, 4), IntegerSegmentUtils.IntersectionOfSegments(a, b)); Assert.AreEqual(new IntegerSegment(2, 4), IntegerSegmentUtils.IntersectionOfSegments(b, a)); }
public void IntersectionOfSegmentsFullIntersection() { var result = IntegerSegmentUtils.IntersectionOfSegments( new IntegerSegment(1, 2), new IntegerSegment(1, 2)); Assert.AreEqual(new IntegerSegment(1, 2), result); }
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 IntersectionOfSegments() { var result = IntegerSegmentUtils.IntersectionOfSegments(new[] { new[] { new IntegerSegment(1, 2), new IntegerSegment(4, 6) }, new[] { new IntegerSegment(1, 2), new IntegerSegment(5, 10) }, }); Assert.AreEqual(2, result.Count); Assert.AreEqual(new IntegerSegment(1, 2), result[0]); Assert.AreEqual(new IntegerSegment(5, 6), result[1]); }
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)); } }