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(); }