//method for executing the test cases
        public bool TestPositive(int[] input, string[] expected)
        {
            RollingAverageMaximum ob = new RollingAverageMaximum();
            var result = ob.CalculateMaxAverage(input, 3, 20);
            int i      = 0;

            foreach (var item in result)
            {
                if (item != expected[i])
                {
                    return(false);
                }

                i++;
            }
            return(true);
        }
        public static void Main()
        {
            RollingAverageMaximum ob = new RollingAverageMaximum();
            bool testcase;

            //Test Case1------
            int[]    input    = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 };
            string[] expected = { "None", "None", "None", "None", "None", "None", "None", "None", "2", "3", "None", "None", "3", "4", "None", "None", "4", "5", "None", "None", "5", "6", "None", "None", "6", "7", "None", "None", "7", "8", "None", "None", "8", "9", "None", "None", "9", "10", "None", "None", "10", "11", "None", "None", "11", "12", "None", "None", "12", "13", "None", "None", "13", "14", "None", "None", "14", "15", "None", "None", "15", "16", "None", "None", "16", "17", "None", "None", "17", "18", "None", "None", "18", "19", "None", "None", "19", "20", "10", "20", "20", "21", "11", "21", "21", "22", "12", "22", "22", "23", "13", "23", "23", "24", "14", "24", "24", "25", "15", "25", "25", "26", "16", "26", "26", "27", "17", "27", "27", "28", "18", "28", "28", "29", "19", "29", "29", "30", "20", "30" };
            testcase = ob.TestPositive(input, expected);

            //Test Case2------

            input    = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
            expected = new string[] { "None", "None", "None", "None", "None", "None", "None", "None", "2", "3", "None", "None", "3", "4", "None", "None", "4", "5", "None", "None", "5", "6", "None", "None", "6", "7", "None", "None", "7", "8", "None", "None", "8", "9", "None", "None", "9", "10", "None", "None", "10", "11", "None", "None", "11", "12", "None", "None", "12", "13", "None", "None", "13", "14", "None", "None", "14", "15", "None", "None", "15", "16", "None", "None", "16", "17", "None", "None", "17", "18", "None", "None", "18", "19", "None", "None", "19", "20", "10", "20" };
            testcase = ob.TestPositive(input, expected);
            Console.WriteLine("Test Case Pass:"******"None", "None", "None", "None", "None", "None", "None", "None", "2", "3", "None", "None", "3", "4", "None", "None", "4", "5", "None", "None", "5", "6", "None", "None", "6", "7", "None", "None", "7", "8", "None", "None", "8", "9", "None", "None", "9", "10", "None", "None", "9", "10", "None", "None", "9", "10", "None", "None", "8", "9", "None", "None", "6", "8", "None", "None", "6", "7", "None", "None", "5", "6", "None", "None", "4", "6", "None", "None", "3", "4", "None", "None", "2", "3", "None", "None", "1", "2", "5", "10" };
            testcase = ob.TestPositive(input, expected);
            Console.WriteLine("Test Case Pass:"******"None", "None", "None", "None", "None", "None", "None", "None", "4", "6", "None", "None", "6", "7", "None", "None", "5", "7", "None", "None", "6", "9", "None", "None", "4", "9", "None", "None", "2", "9", "None", "None", "1", "4", "None", "None", "0", "4", "None", "None", "2", "5", "None", "None", "-2", "5", "None", "None", "5", "22", "None", "None", "18", "43", "None", "None", "20", "43", "None", "None", "11", "43", "None", "None", "-1", "3", "None", "None", "21", "66", "None", "None", "28", "66", "None", "None", "23", "66", "7", "66", "19", "54", "10", "66", "22", "54", "11", "66", "30", "54", "11", "66", "22", "32", "12", "66", "37", "67", "16", "67", "34", "67", "15", "67", "26", "67", "16", "67", "7", "10", "16", "67", "31", "76", "20", "76", "30", "76", "20", "76" };
            testcase = ob.TestPositive(input, expected);
            Console.WriteLine("Test Case Pass:"******"None", "None", "None", "None", "None", "None", "None", "None", "29", "30", "None", "None", "28", "29", "None", "None", "27", "28", "None", "None", "26", "27", "None", "None", "25", "26", "None", "None", "24", "25", "None", "None", "23", "24", "None", "None", "22", "23", "None", "None", "21", "22", "None", "None", "20", "21", "None", "None", "19", "20", "None", "None", "18", "19", "None", "None", "17", "18", "None", "None", "16", "17", "None", "None", "15", "16", "None", "None", "14", "15", "None", "None", "13", "14", "None", "None", "12", "13", "20", "30", "11", "12", "19", "29", "10", "11", "18", "28", "9", "10", "17", "27", "8", "9", "16", "26", "7", "8", "15", "25", "6", "7", "14", "24", "5", "6", "13", "23", "4", "5", "12", "22", "3", "4", "11", "21", "2", "3", "10", "20", "1", "2", "9", "19" };
            testcase = ob.TestPositive(input, expected);
            Console.WriteLine("Test Case Pass:"******"None", "None", "None", "None", "None", "None", "None", "None", "19", "29", "None", "None", "28", "29", "None", "None", "27", "28", "None", "None", "26", "27", "None", "None", "25", "26", "None", "None", "24", "25", "None", "None", "23", "24", "None", "None", "22", "23", "None", "None", "21", "22", "None", "None", "20", "21", "None", "None", "19", "20", "None", "None", "18", "19", "None", "None", "17", "18", "None", "None", "16", "17", "None", "None", "15", "16", "None", "None", "14", "15", "None", "None", "13", "14", "None", "None", "12", "13", "19", "29", "11", "12", "19", "9", "10", "11", "18", "28", "9", "10", "17", "27", "8", "9", "16", "26", "7", "8", "15", "25", "6", "7", "14", "24", "5", "6", "13", "23", "4", "5", "12", "22", "3", "4", "11", "21", "2", "3", "10", "20", "1", "2", "9", "19" };
            testcase = ob.TestPositive(input, expected);
            Console.WriteLine("Test Case Pass:" + testcase);
            Console.ReadLine();
        }