Esempio n. 1
0
        public void SetUp()
        {
            var gamesStage1 = new List <Game>()
            {
                new Game {
                    Team1Id = 1, Team2Id = 2, Stage = 1
                },
                new Game {
                    Team1Id = 4, Team2Id = 3, Stage = 1
                },
                new Game {
                    Team1Id = 5, Team2Id = 6, Stage = 1
                },
            };

            var gamesStage2 = new List <Game>()
            {
                new Game {
                    Team1Id = 1, Team2Id = 4, Stage = 1
                }
            };

            _bundesligaContextService = Substitute.For <IBundesligaContextService>();
            _bundesligaContextService.GetGamesByStage(1).Returns(gamesStage1);
            _bundesligaContextService.GetGamesByStage(2).Returns(gamesStage2);
            _bundesligaService = new BundesligaService(_bundesligaContextService);
        }
Esempio n. 2
0
        public Game AddGame(Game game)
        {
            var gamesInSpecificStage = _bundesligaContextService.GetGamesByStage(game.Stage);

            if (gamesInSpecificStage.Any(x => x.Team1Id == game.Team1Id || x.Team2Id == game.Team1Id || x.Team1Id == game.Team2Id || x.Team2Id == game.Team2Id))
            {
                ThrowFault("Cannot insert multiple games for the same team in one stage.");
            }

            if (game.Team1Id == game.Team2Id)
            {
                ThrowFault("Invalid game. A team cannot play itself");
            }

            return(_bundesligaContextService.InsertGame(game));
        }