Example #1
0
        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)));
        }
Example #2
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));
        }
Example #3
0
        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));
        }
Example #4
0
        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)));
 }