public void CalculatePointsWhenAllPlayersChooseMainCard() { DeckSettings deckSettings = new DeckSettings(); var contractMapper = new ContractMapper(); ILobby lobby = new Lobby(4, GameType.Usual); string[] tokens = { "1", "2", "3", "4" }; foreach (var token in tokens) { lobby.Add(token, token); } var createdPlayers = lobby.Players; var secondPlayer = createdPlayers[1]; var thirdPlayer = createdPlayers[2]; var fourthPlayer = createdPlayers[3]; var mainPlayer = createdPlayers.SingleOrDefault(player => player.Token.Equals(lobby.MainPlayer)); lobby.SetCard(mainPlayer.Cards[0], "ok", mainPlayer.Token); foreach (var createdPlayer in createdPlayers) { contractMapper.MapToStageData(createdPlayer.Token, lobby); } lobby.SetCard(secondPlayer.Cards[0], secondPlayer.Token); lobby.SetCard(thirdPlayer.Cards[0], thirdPlayer.Token); lobby.SetCard(fourthPlayer.Cards[0], fourthPlayer.Token); lobby.SetCard(lobby.Players[0].Card, secondPlayer.Token); lobby.SetCard(lobby.Players[0].Card, thirdPlayer.Token); lobby.SetCard(lobby.Players[0].Card, fourthPlayer.Token); Thread.Sleep(1000); Assert.IsTrue(lobby.Scores.All(score => score.Points.Equals(0))); }
public void AllPlayersCanSetCardAndLobbyStafeIs3() { DeckSettings deckSettings = new DeckSettings(); var contractMapper = new ContractMapper(); ILobby lobby = new Lobby(4, GameType.Usual); string[] tokens = { "1", "2", "3", "4" }; foreach (var token in tokens) { lobby.Add(token, token); } var createdPlayers = lobby.Players; var secondPlayer = createdPlayers[1]; var thirdPlayer = createdPlayers[2]; var fourthPlayer = createdPlayers[3]; var mainPlayer = createdPlayers.SingleOrDefault(player => player.Token.Equals(lobby.MainPlayer)); lobby.SetCard(mainPlayer.Cards[0], "ok", mainPlayer.Token); foreach (var createdPlayer in createdPlayers) { contractMapper.MapToStageData(createdPlayer.Token, lobby); } lobby.SetCard(secondPlayer.Cards[0], secondPlayer.Token); lobby.SetCard(thirdPlayer.Cards[0], thirdPlayer.Token); lobby.SetCard(fourthPlayer.Cards[0], fourthPlayer.Token); Assert.IsTrue(lobby.Stage.Equals(3)); }
public void VoteResultTest() { DeckSettings deckSettings = new DeckSettings(); var contractMapper = new ContractMapper(); ILobby lobby = new Lobby(4, GameType.Usual); string[] tokens = { "1", "2", "3", "4" }; foreach (var token in tokens) { lobby.Add(token, token); } var createdPlayers = lobby.Players; var secondPlayer = createdPlayers[1]; var thirdPlayer = createdPlayers[2]; var fourthPlayer = createdPlayers[3]; var mainPlayer = createdPlayers.SingleOrDefault(player => player.Token.Equals(lobby.MainPlayer)); lobby.SetCard(mainPlayer.Cards[0], "ok", mainPlayer.Token); foreach (var createdPlayer in createdPlayers) { contractMapper.MapToStageData(createdPlayer.Token, lobby); } lobby.SetCard(secondPlayer.Cards[0], secondPlayer.Token); lobby.SetCard(thirdPlayer.Cards[0], thirdPlayer.Token); lobby.SetCard(fourthPlayer.Cards[0], fourthPlayer.Token); lobby.SetCard(lobby.Players[0].Card, secondPlayer.Token); lobby.SetCard(lobby.Players[1].Card, thirdPlayer.Token); lobby.SetCard(lobby.Players[2].Card, fourthPlayer.Token); Assert.IsTrue(lobby.VoteResults.Where(result => result.Count.Equals(1)).Count().Equals(3)); }
public void SetCardWhenArgumentsAreOk() { DeckSettings deckSettings = new DeckSettings(); var contractMapper = new ContractMapper(); ILobby lobby = new Lobby(4, GameType.Usual); string[] tokens = { "1", "2", "3", "4" }; foreach (var token in tokens) { lobby.Add(token, token); } var createdPlayers = lobby.Players; var secondPlayer = createdPlayers[1]; var mainPlayer = createdPlayers.SingleOrDefault(player => player.Token.Equals(lobby.MainPlayer)); lobby.SetCard(mainPlayer.Cards[0], "ok", mainPlayer.Token); Assert.IsTrue(lobby.Text.Equals("ok") && mainPlayer.Ready.Equals(true)); foreach (var createdPlayer in createdPlayers) { contractMapper.MapToStageData(createdPlayer.Token, lobby); } lobby.SetCard(secondPlayer.Cards[0], secondPlayer.Token); Assert.IsTrue(lobby.Stage.Equals(2)); Assert.IsTrue(secondPlayer.Ready && !secondPlayer.Card.Equals(0) && !secondPlayer.Cards.Contains(secondPlayer.Card) && secondPlayer.Cards.Count.Equals(5)); }
public IWrapper GetLobbyData([FromBody] Tokens tokens) { return(_contractMapper.MapToStageData(tokens.PlayerToken, _lobbyManager.GetLobby(tokens.LobbyToken))); }