public void ChangesScoreOnUpdateScore_WhenGameExists()
        {
            var team1 = new TeamVo
            {
                TeamId   = 1,
                TeamName = "Spain"
            };

            var team2 = new TeamVo
            {
                TeamId   = 2,
                TeamName = "Italy"
            };

            var game = new GameVo
            {
                GameId        = 1.ToGuid(),
                HomeTeamId    = team1.TeamId,
                AwayTeamId    = team2.TeamId,
                AwayTeamScore = 0,
                HomeTeamScore = 0,
                Started       = _now
            };

            _gameStorage.CreateGame(game);

            _tested.UpdateScore(game.GameId, 2, 3);

            var changedGame = _gameStorage.GetGames().FirstOrDefault(_ => _.GameId == game.GameId);

            changedGame.HomeTeamScore.Should().Be(2);
            changedGame.AwayTeamScore.Should().Be(3);
        }
        public void DeleteGameOnFinishGame()
        {
            var team1 = new TeamVo
            {
                TeamId   = 1,
                TeamName = "Spain"
            };

            var team2 = new TeamVo
            {
                TeamId   = 2,
                TeamName = "Italy"
            };

            var game = new GameVo
            {
                GameId        = 1.ToGuid(),
                HomeTeamId    = team1.TeamId,
                AwayTeamId    = team2.TeamId,
                AwayTeamScore = 0,
                HomeTeamScore = 0,
                Started       = _now
            };

            _gameStorage.CreateGame(game);

            _tested.FinishGame(game.GameId);

            var finishedGame = _gameStorage.GetGames().FirstOrDefault(_ => _.GameId == game.GameId);

            finishedGame.Should().BeNull();
        }
        public void ReturnsTeamScoreOnGetTeamScore()
        {
            var team1 = new TeamVo
            {
                TeamId   = 0,
                TeamName = "Spain"
            };

            var team2 = new TeamVo
            {
                TeamId   = 1,
                TeamName = "Italy"
            };

            var game1 = new GameVo
            {
                GameId        = 1.ToGuid(),
                HomeTeamId    = team1.TeamId,
                AwayTeamId    = team2.TeamId,
                AwayTeamScore = 0,
                HomeTeamScore = 3,
                Started       = _now
            };

            _teamStorage.CreateTeam(team1);
            _teamStorage.CreateTeam(team2);

            var game = _gameStorage.CreateGame(game1);

            var teamScore = _tested.GetTeamScore(team1.TeamName);

            teamScore.Should().Be(game1.HomeTeamScore);
        }
Exemplo n.º 4
0
        public void ReturnsGamesOnGetGames()
        {
            var newGame1 = new GameVo()
            {
                HomeTeamId    = 1,
                HomeTeamScore = 1,
                AwayTeamId    = 2,
                AwayTeamScore = 2,
                Started       = this._now
            };

            var newGame2 = new GameVo()
            {
                HomeTeamId    = 1,
                HomeTeamScore = 1,
                AwayTeamId    = 2,
                AwayTeamScore = 2,
                Started       = this._now
            };

            var game1         = this._tested.CreateGame(newGame1);
            var game2         = this._tested.CreateGame(newGame2);
            var expectedGames = new List <GameVo> {
                game1, game2
            };

            var resultGames = this._tested.GetGames();

            resultGames.Should().BeEquivalentTo(expectedGames);
        }
Exemplo n.º 5
0
        public GameVo CreateGame(GameVo game)
        {
            var teamId = Guid.NewGuid();

            game.GameId = teamId;
            _games.Add(game);
            return(game);
        }
        public void ReturnsGamesSummary_WhenGamesExists()
        {
            var team1 = new TeamVo
            {
                TeamId   = 1,
                TeamName = "Spain"
            };

            var team2 = new TeamVo
            {
                TeamId   = 2,
                TeamName = "Italy"
            };

            var team3 = new TeamVo
            {
                TeamId   = 3,
                TeamName = "France"
            };

            var game1 = new GameVo
            {
                GameId        = 1.ToGuid(),
                HomeTeamId    = team1.TeamId,
                AwayTeamId    = team2.TeamId,
                AwayTeamScore = 0,
                HomeTeamScore = 0,
                Started       = _now
            };

            var game2 = new GameVo
            {
                GameId        = 2.ToGuid(),
                HomeTeamId    = team2.TeamId,
                AwayTeamId    = team3.TeamId,
                AwayTeamScore = 0,
                HomeTeamScore = 0,
                Started       = _now
            };

            var game3 = new GameVo
            {
                GameId        = 3.ToGuid(),
                HomeTeamId    = team3.TeamId,
                AwayTeamId    = team1.TeamId,
                AwayTeamScore = 0,
                HomeTeamScore = 0,
                Started       = _now
            };

            _gameStorage.CreateGame(game1);
            _gameStorage.CreateGame(game2);
            _gameStorage.CreateGame(game3);

            var gamesSummary = _tested.GetSummaryByAddedDate().ToList();

            gamesSummary.Count.Should().Be(3);
        }
Exemplo n.º 7
0
        public GameVo StartGame(TeamVo homeTeam, TeamVo awayTeam)
        {
            var game = new GameVo
            {
                HomeTeamId    = homeTeam.TeamId,
                AwayTeamId    = awayTeam.TeamId,
                AwayTeamScore = 0,
                HomeTeamScore = 0,
                Started       = new DateTime()
            };

            return(_gameStorage.CreateGame(game));
        }
Exemplo n.º 8
0
        public void ReturnsGameOnCreateGame()
        {
            var newGame = new GameVo()
            {
                HomeTeamId    = 1,
                HomeTeamScore = 1,
                AwayTeamId    = 2,
                AwayTeamScore = 2,
                Started       = this._now
            };

            var result = this._tested.CreateGame(newGame);

            result.Should().NotBeNull();
        }
Exemplo n.º 9
0
        public void ReturnsNullOnUpdateGame_WhenGameNotExists()
        {
            var game = new GameVo()
            {
                GameId        = 2.ToGuid(),
                HomeTeamId    = 1,
                HomeTeamScore = 1,
                AwayTeamId    = 2,
                AwayTeamScore = 2,
                Started       = this._now
            };

            var result = this._tested.UpdateGame(game);

            result.Should().Be(null);
        }
Exemplo n.º 10
0
        public GameVo UpdateGame(GameVo game)
        {
            var existedGame = _games.FirstOrDefault(_ => _.GameId == game.GameId);

            if (existedGame == null)
            {
                return(null);
            }

            existedGame.HomeTeamId    = game.HomeTeamId;
            existedGame.AwayTeamId    = game.AwayTeamId;
            existedGame.HomeTeamScore = game.HomeTeamScore;
            existedGame.AwayTeamScore = game.AwayTeamScore;
            existedGame.Started       = game.Started;

            return(existedGame);
        }
Exemplo n.º 11
0
        public void ReturnsTrueOnDeleteGame()
        {
            var newGame = new GameVo()
            {
                HomeTeamId    = 1,
                HomeTeamScore = 1,
                AwayTeamId    = 2,
                AwayTeamScore = 2,
                Started       = this._now
            };

            var game = this._tested.CreateGame(newGame);

            var result = this._tested.DeleteGame(game.GameId);

            result.Should().BeTrue();
        }
Exemplo n.º 12
0
        public void ReturnsGameOnGetGameById()
        {
            var newGame = new GameVo()
            {
                HomeTeamId    = 1,
                HomeTeamScore = 1,
                AwayTeamId    = 2,
                AwayTeamScore = 2,
                Started       = this._now
            };

            var game = this._tested.CreateGame(newGame);

            var resultGame = this._tested.GetGameById(game.GameId);

            resultGame.Should().Be(game);
        }
        public void ReturnsExceptionOnGetTeamScore_WhenTeamIsNotFound()
        {
            var game1 = new GameVo
            {
                GameId        = 1.ToGuid(),
                HomeTeamId    = 0,
                AwayTeamId    = 1,
                AwayTeamScore = 0,
                HomeTeamScore = 3,
                Started       = _now
            };

            _gameStorage.CreateGame(game1);

            Func <int> getTeamSCore = () => _tested.GetTeamScore("Spain");

            getTeamSCore.Should().Throw <KeyNotFoundException>();
        }
Exemplo n.º 14
0
        public void ReturnsChangedOnUpdateGame()
        {
            var newGame = new GameVo()
            {
                HomeTeamId    = 1,
                HomeTeamScore = 1,
                AwayTeamId    = 2,
                AwayTeamScore = 2,
                Started       = this._now
            };

            var game = this._tested.CreateGame(newGame);

            game.AwayTeamScore = 2;

            var result = this._tested.UpdateGame(game);

            result.AwayTeamScore.Should().Be(2);
        }