public void Columns_Holds_Kernel_Width()
        {
            var width  = 3;
            var dither = new DitherKernel(SierraLite, width);

            Assert.AreEqual(width, dither.Columns);
        }
        public void Centre_Holds_Kernel_Centre_Point()
        {
            var width    = 3;
            var dither   = new DitherKernel(SierraLite, width);
            var expected = 1;

            Assert.AreEqual(expected, dither.Centre);
        }
        public void Rows_Holds_Kernel_Rows()
        {
            var width    = 3;
            var dither   = new DitherKernel(SierraLite, width);
            var expected = SierraLite.Length / width;

            Assert.AreEqual(expected, dither.Rows);
        }
        public void Ctor_Accepts_Coeffecients()
        {
            var dither = new DitherKernel(SierraLiteCoeff, 3);
            var actual = dither.Coefficients.ToArray();

            for (int i = 0; i < SierraLiteCoeff.Length; ++i)
            {
                Assert.AreEqual(SierraLiteCoeff[i], actual[i]);
            }
        }
        public void Ctor_Assigns_Factor_To_Sum()
        {
            var dither = new DitherKernel(SierraLite, 3);
            var actual = dither.Coefficients.ToArray();

            for (int i = 0; i < SierraLiteCoeff.Length; ++i)
            {
                Assert.AreEqual(SierraLiteCoeff[i], actual[i]);
            }
        }
        public void Ctor_Calculates_Coefficients()
        {
            var factor = 6.0f;
            var dither = new DitherKernel(SierraLite, 3, (int)factor);
            var actual = dither.Coefficients.ToArray();

            for (int i = 0; i < SierraLiteCoeff.Length; ++i)
            {
                Assert.AreEqual(SierraLite[i] / factor, actual[i]);
            }
        }
        public void Index_Operator_Returns_Coefficient()
        {
            var width  = 3;
            var dither = new DitherKernel(SierraLite, width);

            for (int y = 0, n = 0; y < dither.Rows; ++y)
            {
                for (int x = 0; x < dither.Columns; ++x, ++n)
                {
                    var actual   = dither[x, y];
                    var expected = SierraLiteCoeff[n];
                    Assert.AreEqual(expected, actual);
                }
            }
        }