Пример #1
0
        public void ShouldFailStartGameWhenThereIsOtherForSameTeams()
        {
            var scoreBoards = new ScoreBoard.ScoreBoard();

            _ = scoreBoards.StartGame("homeTeam", "awayTeam");
            Assert.IsFalse(scoreBoards.StartGame("homeTeam", "awayTeam").Success);
        }
Пример #2
0
        public void ShouldStartGameWhenThereIsNoOtherForSameTeams()
        {
            var scoreBoards = new ScoreBoard.ScoreBoard();

            Assert.IsTrue(scoreBoards.StartGame("homeTeam", "awayTeam").Success);
            Assert.AreEqual("homeTeam 0 - awayTeam 0", scoreBoards.GetScoreBoard().Single());
        }
Пример #3
0
        public void ShouldReturnScoreBoardOrderByTotalScoreThenByMostRecent()
        {
            var scoreBoards = new ScoreBoard.ScoreBoard();

            scoreBoards.StartGame("Mexico", "Canada");
            scoreBoards.UpdateGameScore("Mexico", "Canada", 0, 5);
            scoreBoards.StartGame("Spain", "Brazil");
            scoreBoards.UpdateGameScore("Spain", "Brazil", 10, 2);
            scoreBoards.StartGame("Germany", "France");
            scoreBoards.UpdateGameScore("Germany", "France", 2, 2);
            scoreBoards.StartGame("Uruguay", "Italy");
            scoreBoards.UpdateGameScore("Uruguay", "Italy", 6, 6);
            scoreBoards.StartGame("Argentina", "Australia");
            scoreBoards.UpdateGameScore("Argentina", "Australia", 3, 1);

            var scoreBoard = scoreBoards.GetScoreBoard();

            var expected = new List <string>()
            {
                "Uruguay 6 - Italy 6",
                "Spain 10 - Brazil 2",
                "Mexico 0 - Canada 5",
                "Argentina 3 - Australia 1",
                "Germany 2 - France 2"
            };

            Assert.AreEqual(string.Join(',', expected), string.Join(',', scoreBoard));
        }
Пример #4
0
        public void ShouldFailFinishGameWhenThereIsNoGame()
        {
            var homeTeam    = "homeTeam";
            var awayTeam    = "awayTeam";
            var scoreBoards = new ScoreBoard.ScoreBoard();

            var updateResult = scoreBoards.FinishGame(homeTeam, awayTeam);

            Assert.IsFalse(updateResult.Success);
            Assert.AreEqual($"There is not a game for {homeTeam} vs {awayTeam}", updateResult.ErrorMessage);
        }
Пример #5
0
        public void FinishGameTest()
        {
            var homeTeam = "homeTeam";
            var awayTeam = "awayTeam";

            var scoreBoards = new ScoreBoard.ScoreBoard();

            _ = scoreBoards.StartGame(homeTeam, awayTeam);

            Assert.IsTrue(scoreBoards.FinishGame(homeTeam, awayTeam).Success);
            Assert.AreEqual("The score board is empty", scoreBoards.GetScoreBoard().Single());
        }
Пример #6
0
        public void ShouldUpdateGameScore()
        {
            var homeTeam    = "homeTeam";
            var awayTeam    = "awayTeam";
            var homeScore   = 2;
            var awayScore   = 1;
            var scoreBoards = new ScoreBoard.ScoreBoard();

            _ = scoreBoards.StartGame(homeTeam, awayTeam);

            Assert.IsTrue(scoreBoards.UpdateGameScore(homeTeam, awayTeam, homeScore, awayScore).Success);
            Assert.AreEqual("homeTeam 2 - awayTeam 1", scoreBoards.GetScoreBoard().Single());
        }
Пример #7
0
        public void ShouldFailUpdateGameScoreWhenScoreLowerThanZero()
        {
            var homeTeam    = "homeTeam";
            var awayTeam    = "awayTeam";
            var homeScore   = -9;
            var awayScore   = 1;
            var scoreBoards = new ScoreBoard.ScoreBoard();

            _ = scoreBoards.StartGame(homeTeam, awayTeam);
            var updateResult = scoreBoards.UpdateGameScore(homeTeam, awayTeam, homeScore, awayScore);

            Assert.IsFalse(updateResult.Success);
            Assert.AreEqual("Scores cannot be lower than 0", updateResult.ErrorMessage);
        }