public void EndGamesFromManyViaSpecyficOponentTest()
        {
            var players        = this.CreatePlayersCollection(3);
            var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator());
            var oponents       = gameController.GamesInSortedQueue.Select(games => games.Oponents).ToList();

            gameController.EndGame(oponents[0], oponents[0].TeamA);
            Assert.IsTrue(gameController.IsNextGameAvailable);
        }
        public void EndGamesFromManyTest()
        {
            var players        = this.CreatePlayersCollection(3);
            var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator());
            var oponents       = gameController.CurrentGameOponents();

            gameController.EndGame(oponents.TeamA);
            Assert.IsTrue(gameController.IsNextGameAvailable);
        }
        public void EndGamesWithPlayerNotInCurrentOponentGameCollectionWithSpecyficOponentTestt()
        {
            var players        = this.CreatePlayersCollection(3);
            var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator());
            var oponents       = gameController.GamesInSortedQueue.Select(games => games.Oponents).ToList();

            Assert.That(
                () => gameController.EndGame(oponents[1], oponents[0].TeamB),
                Throws.TypeOf <CgcExceptionCannotEndGameWinnerWasNotOponentInChosenGame>());
        }
        public void EndAllGamesTest()
        {
            var players        = this.CreatePlayersCollection(2);
            var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator());
            var oponents       = gameController.CurrentGameOponents();
            var winners        = oponents.TeamA;

            gameController.EndGame(winners);
            Assert.IsFalse(gameController.IsNextGameAvailable);

            foreach (var winner in winners)
            {
                Assert.IsTrue(gameController.Players.Find(player => player.Player == winner).Points == 1);
            }
        }