public void TheMaxFilledNumberShoudBeSizeToTheSecondPower(string size)
        {
            int          matrixCellsNumber = Int32.Parse(size) * Int32.Parse(size);
            StringReader reader            = new StringReader(size);
            StringWriter writer            = new StringWriter();

            Console.SetIn(reader);
            Console.SetOut(writer);
            FillMatrix.Main();
            string output = writer.ToString();

            output = output.Replace("Enter a positive number ", string.Empty);
            output = output.Replace("\r", string.Empty);
            output = output.Replace("\n", string.Empty);
            string[] separators    = { " " };
            string[] outputNumbers = output.Split(separators, StringSplitOptions.RemoveEmptyEntries);
            int      maxNumber     = 0;

            for (int i = 0; i < matrixCellsNumber; i++)
            {
                int currentNumber = Int32.Parse(outputNumbers[i].Trim());
                if (currentNumber > maxNumber)
                {
                    maxNumber = currentNumber;
                }
            }
            Assert.AreEqual(matrixCellsNumber, maxNumber);
            reader.Dispose();
            writer.Dispose();
        }
        public void CheckNineCellsMatrix()
        {
            StringReader reader = new StringReader("3");
            StringWriter writer = new StringWriter();

            Console.SetIn(reader);
            Console.SetOut(writer);
            FillMatrix.Main();
            string expectedOutput = "Enter a positive number \r\n     1     7     8\r\n     6     2     9\r\n     5     4     3\r\n";

            Assert.AreEqual(expectedOutput, writer.ToString());
            reader.Dispose();
            writer.Dispose();
        }
        public void AskUntilValidMatrixSizeEntered(string input)
        {
            StringReader reader = new StringReader(input + "\n3");
            StringWriter writer = new StringWriter();

            Console.SetIn(reader);
            Console.SetOut(writer);
            FillMatrix.Main();
            string expectedOutput = "Enter a positive number \r\n" +
                                    "You haven't entered a correct positive number\r\n" +
                                    "     1     7     8\r\n" +
                                    "     6     2     9\r\n" +
                                    "     5     4     3\r\n";

            Assert.AreEqual(expectedOutput, writer.ToString());
            reader.Dispose();
            writer.Dispose();
        }
        public void TheResultMatrixShouldHaveAccurateSize(string size)
        {
            StringReader reader = new StringReader(size);
            StringWriter writer = new StringWriter();

            Console.SetIn(reader);
            Console.SetOut(writer);
            FillMatrix.Main();
            string output = writer.ToString();

            output = output.Replace("Enter a positive number ", string.Empty);
            output = output.Replace("\r", string.Empty);
            output = output.Replace("\n", string.Empty);
            string[] separators    = { " " };
            string[] outputNumbers = output.Split(separators, StringSplitOptions.RemoveEmptyEntries);
            Assert.AreEqual(Int32.Parse(size) * Int32.Parse(size), outputNumbers.Length);
            reader.Dispose();
            writer.Dispose();
        }