コード例 #1
0
        public void FindZeroSegmentsTestNoSegments()
        {
            var array  = new UInt32[] { 1, 0, 0, 1, 2, 3 };
            var result = IntegerSegmentUtils.FindZeroSegments(array, 3);

            Assert.AreEqual(0, result.Count);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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));
            }
        }