コード例 #1
0
ファイル: MatrixFilterTest.cs プロジェクト: klyse/Neo.Matrix
        public void CalculateMatrixParameters_CalculatesRemainingCorrect1()
        {
            var matrix = MatrixPopulator.CreateIncrementedInt(100, 200);

            MatrixFilter.CalculateMatrixParameters(matrix, 3, 11, 1, 1, out _, out _, out var remainingRows, out var remainingColumns);

            Assert.AreEqual(98, remainingRows);
            Assert.AreEqual(190, remainingColumns);
        }
コード例 #2
0
ファイル: MatrixFilterTest.cs プロジェクト: klyse/Neo.Matrix
        public void CalculateMatrixParameters_CalculatesOffsetCorrect1()
        {
            var matrix = MatrixPopulator.CreateIncrementedInt(100, 200);

            MatrixFilter.CalculateMatrixParameters(matrix, 31, 21, 1, 1, out var rowOffset, out var colOffset, out _, out _);

            Assert.AreEqual(15, rowOffset);
            Assert.AreEqual(10, colOffset);
        }
コード例 #3
0
        public void GetBox_ReturnsBox()
        {
            var mat = MatrixPopulator.CreateIncrementedInt(9, 9);
            var box = mat.GetBox(2, 2, 3);

            var expectedBox = new Matrix <int>(new[, ]
            {
                { 11, 12, 13 },
                { 20, 21, 22 },
                { 29, 30, 31 }
            });

            Assert.AreEqual(expectedBox, box);
        }
コード例 #4
0
        public void GetRect_ReturnsRect()
        {
            var mat = MatrixPopulator.CreateIncrementedInt(9, 9);

            var box = mat.GetRect(2, 2, 3, 5);

            var expectedBox = new Matrix <int>(new[, ]
            {
                { 10, 11, 12, 13, 14 },
                { 19, 20, 21, 22, 23 },
                { 28, 29, 30, 31, 32 }
            });

            Assert.AreEqual(expectedBox, box);
        }
コード例 #5
0
        public void GetFromRegion()
        {
            var mat = MatrixPopulator.CreateIncrementedInt(9, 9);

            var matReg = mat.GetRect(RegionHelper.FromCenter(3, 2, 3, 5));

            var expectedBox = new Matrix <int>(new[, ]
            {
                { 19, 20, 21, 22, 23 },
                { 28, 29, 30, 31, 32 },
                { 37, 38, 39, 40, 41 }
            });

            Assert.AreEqual(expectedBox, matReg);
        }
コード例 #6
0
        public void GetBox_ReturnsBox_TakesPointInput2()
        {
            var mat = MatrixPopulator.CreateIncrementedInt(9, 9);

            var box = mat.GetBox(new Point(3, 2), 3);

            var expectedBox = new Matrix <int>(new[, ]
            {
                { 12, 13, 14 },
                { 21, 22, 23 },
                { 30, 31, 32 }
            });

            Assert.AreEqual(expectedBox, box);
        }
コード例 #7
0
        public void GetRect_ReturnsRect_TakesRectInput2()
        {
            var mat = MatrixPopulator.CreateIncrementedInt(9, 9);

            var box = mat.GetRect(new Rectangle(1, 1, 5, 3));

            var expectedBox = new Matrix <int>(new[, ]
            {
                { 11, 12, 13, 14, 15 },
                { 20, 21, 22, 23, 24 },
                { 29, 30, 31, 32, 33 }
            });

            Assert.AreEqual(expectedBox, box);
        }
コード例 #8
0
        public void GetRect_OutOfRange_ThrowsException(int height, int width)
        {
            var mat = MatrixPopulator.CreateIncrementedInt(9, 9);

            Assert.Throws <IndexOutOfRangeException>(() => mat.GetRect(1, 1, height, width));
        }
コード例 #9
0
        public void GetBox_TakesPoint_OutOfRange_ThrowsException(int size)
        {
            var mat = MatrixPopulator.CreateIncrementedInt(9, 9);

            Assert.Throws <IndexOutOfRangeException>(() => mat.GetBox(new Point(8, 8), size));
        }
コード例 #10
0
ファイル: MatrixFilterTest.cs プロジェクト: klyse/Neo.Matrix
        public void CalculateMatrixParameters_StrideNotDivisibleByRemainingColumnsRows_ThrowsError(int yStride, int xStride)
        {
            var matrix = MatrixPopulator.CreateIncrementedInt(300, 600);

            Assert.Throws <StrideException>(() => MatrixFilter.CalculateMatrixParameters(matrix, 11, 11, yStride, xStride, out _, out _, out _, out _));
        }
コード例 #11
0
ファイル: MatrixFilterTest.cs プロジェクト: klyse/Neo.Matrix
        public void CalculateMatrixParameters_StrideBiggerThanRowsColumns_ThrowsError(int yStride, int xStride)
        {
            var matrix = MatrixPopulator.CreateIncrementedInt(4, 6, 0);

            Assert.Throws <StrideException>(() => MatrixFilter.CalculateMatrixParameters(matrix, 3, 3, yStride, xStride, out _, out _, out _, out _));
        }
コード例 #12
0
ファイル: MatrixFilterTest.cs プロジェクト: klyse/Neo.Matrix
        public void CalculateMatrixParameters_InvalidStride_ThrowsError(int yStride, int xStride)
        {
            var matrix = MatrixPopulator.CreateIncrementedInt(4, 6, 0);

            Assert.Throws <OutOfRangeException>(() => MatrixFilter.CalculateMatrixParameters(matrix, 3, 3, yStride, xStride, out _, out _, out _, out _));
        }
コード例 #13
0
ファイル: MatrixFilterTest.cs プロジェクト: klyse/Neo.Matrix
        public void CalculateMatrixParameters_Invalid_RowsColumns_ThrowsError(int rows, int columns)
        {
            var matrix = MatrixPopulator.CreateIncrementedInt(4, 4);

            Assert.Throws <OutOfRangeException>(() => MatrixFilter.CalculateMatrixParameters(matrix, rows, columns, 1, 1, out _, out _, out _, out _));
        }
コード例 #14
0
ファイル: MatrixFilterTest.cs プロジェクト: klyse/Neo.Matrix
        public void CalculateMatrixParameters_EvenRows_ThrowsError(int rows, int columns)
        {
            var matrix = MatrixPopulator.CreateIncrementedInt(10, 10);

            Assert.Throws <EvenException>(() => MatrixFilter.CalculateMatrixParameters(matrix, rows, columns, 1, 1, out _, out _, out _, out _));
        }