Algorithmix.UnitTest.EdgeDetectorTest.SmootheningTest C# (CSharp) Method

SmootheningTest() private method

private SmootheningTest ( ) : void
return void
        public void SmootheningTest()
        {
            int[] testarray = Enumerable.Range(1, 1000).ToArray();
            const int nsize = 100;
            int[] firstExpected = new int[nsize];
            int[] secondExpected = new int[testarray.Length-nsize];

            for(int ii = 1; ii <= nsize ;ii++)
            {
                double summation = ((ii)*(ii + 1)/2.0);
                firstExpected[ii-1] = (int) (summation/(double)ii);
            }
            for (int ii= nsize+1 ; ii< testarray.Length ;ii++)
            {
                double summation = ((ii)*(ii + 1)/2.0) - ((ii-nsize)*(ii-nsize+1)/2.0);
                secondExpected[ii-nsize-1] = (int) (summation/(double) nsize);
            }

            var expected = (firstExpected.Concat(secondExpected)).Take(500);
            var actual = EdgeDetector.Smoothen(testarray, nsize).Take(500);

            Assert.IsTrue(expected.Zip(actual, (first, second) => first == second).All(x => x));
        }