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);
        }
Esempio n. 4
0
        public TeamVo CreateTeam(TeamVo team)
        {
            var teamId = this._scopeIdentity++;

            team.TeamId = teamId;
            _teams.Add(team);
            return(team);
        }
        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);
        }
        public void ReturnsTeamOnCreateTeam()
        {
            var newTeam = new TeamVo()
            {
                TeamName = "Italy"
            };

            var result = this._tested.CreateTeam(newTeam);

            result.Should().NotBeNull();
        }
        public void ReturnsNullOnUpdateTeam_WhenTeamNotExists()
        {
            var team = new TeamVo()
            {
                TeamId   = 1,
                TeamName = "Italy"
            };

            var result = this._tested.UpdateTeam(team);

            result.Should().Be(null);
        }
Esempio n. 8
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));
        }
        public void ReturnsTeamOnGetTeamById()
        {
            var newTeam = new TeamVo()
            {
                TeamName = "Italy"
            };

            var team = this._tested.CreateTeam(newTeam);

            var resultTeam = this._tested.GetTeamById(team.TeamId);

            resultTeam.Should().Be(team);
        }
        public void ReturnsTrueOnDeleteTeam()
        {
            var newTeam = new TeamVo()
            {
                TeamName = "Italy"
            };

            var createdTeam = this._tested.CreateTeam(newTeam);

            var result = this._tested.DeleteTeam(createdTeam.TeamId);

            result.Should().BeTrue();
        }
Esempio n. 11
0
        public TeamVo UpdateTeam(TeamVo team)
        {
            var existedTeam = _teams.FirstOrDefault(_ => _.TeamId == team.TeamId);

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

            existedTeam.TeamName = team.TeamName;

            return(existedTeam);
        }
        public void ReturnsChangedOnUpdateTeam()
        {
            var newTeam = new TeamVo()
            {
                TeamName = "Italy"
            };

            var team = this._tested.CreateTeam(newTeam);

            team.TeamName = "Italy2";

            var result = this._tested.UpdateTeam(team);

            result.TeamName.Should().Be("Italy2");
        }
        public void ReturnsGameOnStartGame()
        {
            var team1 = new TeamVo
            {
                TeamId   = 1,
                TeamName = "Spain"
            };

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

            var game = _tested.StartGame(team1, team2);

            game.HomeTeamId.Should().Be(team1.TeamId);
            game.AwayTeamId.Should().Be(team2.TeamId);
            game.HomeTeamScore.Should().Be(0);
            game.AwayTeamScore.Should().Be(0);
        }
        public void ReturnsExceptionOnGetTeamScore_WhenGameNotFound()
        {
            var team1 = new TeamVo
            {
                TeamId   = 0,
                TeamName = "Spain"
            };

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

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

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

            getTeamSCore.Should().Throw <KeyNotFoundException>();
        }
        public void ReturnsTeamsOnGetTeams()
        {
            var newTeam1 = new TeamVo()
            {
                TeamName = "Italy"
            };

            var newTeam2 = new TeamVo()
            {
                TeamName = "France"
            };

            var team1 = this._tested.CreateTeam(newTeam1);
            var team2 = this._tested.CreateTeam(newTeam2);

            var expectedTeams = new List <TeamVo> {
                team1, team2
            };

            var resultTeams = this._tested.GetTeams();

            resultTeams.Should().BeEquivalentTo(expectedTeams);
        }
Esempio n. 16
0
        public static void Main(string[] args)
        {
            var teamItaly = new TeamVo()
            {
                TeamName = "Italy"
            };
            var teamFrance = new TeamVo()
            {
                TeamName = "France"
            };
            var teamSpain = new TeamVo()
            {
                TeamName = "Spain"
            };
            var teamBrazil = new TeamVo()
            {
                TeamName = "Brazil"
            };

            var teamsToCreate = new List <TeamVo> {
                teamItaly, teamFrance, teamSpain, teamBrazil
            };

            var teamStorage = new TeamStorage();
            var gameStorage = new GameStorage();

            var newScoreBoard = new ScoreBoard(teamStorage, gameStorage);

            foreach (var team in teamsToCreate)
            {
                teamStorage.CreateTeam(team);
            }

            var teams = teamStorage.GetTeams();

            var game1 = newScoreBoard.StartGame(teams[0], teams[1]);
            var game2 = newScoreBoard.StartGame(teams[1], teams[2]);
            var game3 = newScoreBoard.StartGame(teams[2], teams[3]);

            newScoreBoard.UpdateScore(game1.GameId, 1, 1);
            newScoreBoard.UpdateScore(game2.GameId, 2, 0);
            newScoreBoard.UpdateScore(game3.GameId, 3, 4);

            var summaryResult = newScoreBoard.GetSummaryByAddedDate();

            Console.WriteLine("Summary results");
            foreach (var summary in summaryResult)
            {
                Console.WriteLine(summary);
            }

            newScoreBoard.FinishGame(game1.GameId);
            newScoreBoard.FinishGame(game3.GameId);

            summaryResult = newScoreBoard.GetSummaryByAddedDate();
            Console.WriteLine("Summary results 2");
            foreach (var summary in summaryResult)
            {
                Console.WriteLine(summary);
            }

            Console.ReadLine();
        }