Пример #1
0
        public void PrintMethodTest()
        {
            ScoreBoard scoreBoard = new ScoreBoard(console);

            scoreBoard.Source = "../../Test Resources/ScoreBoardTest.txt";
            scoreBoard.Load();
            using (var writer = new StringWriter())
            {
                Console.SetOut(writer);
                scoreBoard.Print();

                writer.Flush();

                string result = writer.GetStringBuilder().ToString();
                string expected = "     ***** Top 5 Scores *****\r\n"
                    + "1.  Milena --> 0 mistakes\r\n"
                    + "2.  Ivan --> 1 mistakes\r\n"
                    + "3.  Stancho --> 2 mistakes\r\n"
                    + "4.  Iva --> 3 mistakes\r\n"
                    + "5.  Mitko --> 4 mistakes\r\n";
                Assert.AreEqual(expected, result);
            }
        }
Пример #2
0
        public void TopCommandEvaluatorCheck()
        {
            ScoreBoard scoreBoard = new ScoreBoard(console);

            scoreBoard.Source = "../../Test Resources/ScoreBoardTest.txt";
            scoreBoard.Load();

            using (var writer = new StringWriter())
            {
                Console.SetOut(writer);
                scoreBoard.Print();
                writer.Flush();

                string result = writer.GetStringBuilder().ToString();
                var splittedResult = result.Split(new string[] { " mistakes", " --> " }, StringSplitOptions.RemoveEmptyEntries);

                bool isTheTopScorersListCorrect = true;
                for (int i = 3; i < splittedResult.Length; i += 2)
                {
                    var previousTopResult = int.Parse(splittedResult[i]);
                    var currentTopResult = int.Parse(splittedResult[i - 2]);

                    if (currentTopResult > previousTopResult)
                    {
                        isTheTopScorersListCorrect = false;
                    }
                }

                Assert.IsTrue(isTheTopScorersListCorrect);
            }
        }