public void IsNextGameAvailableTest() { var players = this.CreatePlayersCollection(2); var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator()); Assert.IsTrue(gameController.IsNextGameAvailable); }
public void RunFirstGameTest() { var players = this.CreatePlayersCollection(4); var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator()); var oponents = gameController.GamesInSortedQueue.Select(games => games.Oponents).ToList(); Assert.IsTrue(gameController.CurrentGameOponents() == oponents.First()); }
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 EndGamesTie() { var players = this.CreatePlayersCollection(2); var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator()); var oponents = gameController.CurrentGameOponents(); var winners = oponents.TeamA.Concat(oponents.TeamB).ToList(); gameController.EndGameAsTie(); Assert.IsFalse(gameController.IsNextGameAvailable); foreach (var winner in winners) { Assert.IsTrue(gameController.Players.Find(player => player.Player == winner).Points == 1); } }
public void IsACopyOfPlayers() { var players = this.CreatePlayersCollection(2); var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator()); foreach (var playerInController in gameController.Players) { var referenceFound = players.Any(player => { Console.WriteLine(player); Console.WriteLine(playerInController.Player); return(ReferenceEquals(player, playerInController.Player)); }); Assert.IsFalse(referenceFound, string.Format("Player {0} was not copied. Feference found", playerInController.Player.Name)); } }
public void TestIfSortedCollectionHas2MaxGamesInRow() { var players = this.CreatePlayersCollection(4); var gameController = new AllToAllGameController(players, new AllToAllOponentsCreator()); var oponents = gameController.GamesInSortedQueue.Select(games => games.Oponents).ToList(); Assert.AreEqual(oponents.Count, 6); Assert.IsTrue(oponents[0].TeamA.First().Name == "player0" && oponents[0].TeamB.First().Name == "player1"); Assert.IsTrue(oponents[1].TeamA.First().Name == "player0" && oponents[1].TeamB.First().Name == "player2"); Assert.IsTrue(oponents[2].TeamA.First().Name == "player1" && oponents[2].TeamB.First().Name == "player2"); Assert.IsTrue(oponents[3].TeamA.First().Name == "player1" && oponents[3].TeamB.First().Name == "player3"); Assert.IsTrue(oponents[4].TeamA.First().Name == "player2" && oponents[4].TeamB.First().Name == "player3"); Assert.IsTrue(oponents[5].TeamA.First().Name == "player0" && oponents[5].TeamB.First().Name == "player3"); }
public AllToAllModelView(Players playersForGame) { this.shouldShowImage = false; playersForGame.Shuffle(); this.GameControler = new AllToAllGameController(playersForGame, new AllToAllOponentsCreator()); }
private ObservableCollection <GameStatisticViewModel> CreateObservableGamesCollection(AllToAllGameController gameControler) { var games = gameControler.GamesInSortedQueue; var observableGames = new ObservableCollection <GameStatisticViewModel>(); foreach (var game in games) { observableGames.Add(new GameStatisticViewModel(game)); } return(observableGames); }