Exemplo n.º 1
0
    def test_not_winner(self):
        # Given
        jogador = Jogador([Carta("vermelho", "1")])

        # When
        ganhou = self.gerenciador.verificarVencedor(jogador)

        # Then
        self.assertFalse(ganhou)
Exemplo n.º 2
0
    def test_play_block(self, mocked_input):
        # Given
        self.gerenciador.inicializarJogo()
        actualPlayer = 0
        direction = self.gerenciador.orientacao_jogo
        # When
        carta = Carta("azul", "pula")
        next_player = self.gerenciador.acaoJogada(actualPlayer, carta)

        # Then
        self.assertEqual(self.gerenciador.orientacao_jogo, direction)
        self.assertEqual(next_player, (actualPlayer + 2 * direction) %
                         self.gerenciador.n_de_jogadores)
Exemplo n.º 3
0
    def test_play_chose(self, mocked_input):
        # Given
        self.gerenciador.inicializarJogo()
        actualPlayer = 0
        direction = self.gerenciador.orientacao_jogo

        # When
        carta = Carta("preto", "escolhacor")
        next_player = self.gerenciador.acaoJogada(actualPlayer, carta)

        # Then
        self.assertEqual(self.gerenciador.orientacao_jogo, direction)
        self.assertEqual(next_player, (actualPlayer + direction) %
                         self.gerenciador.n_de_jogadores)
        self.assertEqual(carta.cor, "azul")
Exemplo n.º 4
0
    def test_inicialzar_jogo_jump_first(self, mocked_input):
        # Given
        monte = MockMonte(firstCard=Carta("amarelo", "pula"))
        self.gerenciador = Gerenciador(monte)
        mocked_input.side_effect = ["4"]
        # When
        self.gerenciador.inicializarJogo()

        checkFirstCardType = True
        firstCardType = self.gerenciador.pilha_mesa[-1].tipo
        if (firstCardType == "+2" or firstCardType == "reverso"
                or firstCardType == "pula" or firstCardType == "escolhacor"
                or firstCardType == "+4"):
            checkFirstCardType = False

        # Then
        self.assertTrue(checkFirstCardType)
Exemplo n.º 5
0
    def test_play_plus_four(self, mocked_input):
        # Given
        self.gerenciador.inicializarJogo()
        actualPlayer = 0
        buyingPlayer = 1
        direction = self.gerenciador.orientacao_jogo
        buyingPlayerHandBeforeBuy = self.gerenciador.jogadores[
            buyingPlayer].cartas.copy()
        # When
        carta = Carta("preto", "+4")
        next_player = self.gerenciador.acaoJogada(actualPlayer, carta)
        buyingPlayerHandAfterBuy = self.gerenciador.jogadores[
            buyingPlayer].cartas.copy()

        # Then
        self.assertEqual(
            len(buyingPlayerHandBeforeBuy) + 4, len(buyingPlayerHandAfterBuy))
        self.assertTrue(
            self.hand_consistent(buyingPlayerHandBeforeBuy,
                                 buyingPlayerHandAfterBuy))
        self.assertEqual(self.gerenciador.orientacao_jogo, direction)
        self.assertEqual(next_player, (actualPlayer + 2 * direction) %
                         self.gerenciador.n_de_jogadores)
        self.assertEqual(carta.cor, "verde")
Exemplo n.º 6
0
    def test_play_plus_two(self, mocked_input):
        # Given
        mocked_input.side_effect = ["4"]
        self.gerenciador.inicializarJogo()
        actualPlayer = 0
        buyingPlayer = 1
        direction = self.gerenciador.orientacao_jogo
        buyingPlayerHandBeforeBuy = self.gerenciador.jogadores[
            buyingPlayer].cartas.copy()
        # When
        carta = Carta("Vermelho", "+2")
        next_player = self.gerenciador.acaoJogada(actualPlayer, carta)
        buyingPlayerHandAfterBuy = self.gerenciador.jogadores[
            buyingPlayer].cartas.copy()

        # Then
        self.assertEqual(
            len(buyingPlayerHandBeforeBuy) + 2, len(buyingPlayerHandAfterBuy))
        self.assertTrue(
            self.hand_consistent(buyingPlayerHandBeforeBuy,
                                 buyingPlayerHandAfterBuy))
        self.assertEqual(self.gerenciador.orientacao_jogo, direction)
        self.assertEqual(next_player, (actualPlayer + 2 * direction) %
                         self.gerenciador.n_de_jogadores)
Exemplo n.º 7
0
 def __init__(self,
              tinyCase=False,
              specificEndCardCase=False,
              firstCard=Carta("amarelo", "1")):
     if tinyCase:
         self._monte = [
             Carta("vermelho", "2"),
             Carta("vermelho", "2"),
             Carta("vermelho", "2"),
             Carta("vermelho", "2"),
             Carta("amarelo", "1"),
             Carta("amarelo", "1"),
             Carta("amarelo", "1"),
             Carta("amarelo", "1")
         ]
     elif specificEndCardCase:
         self._monte = [
             Carta("vermelho", "2"),
             Carta("amarelo", "4"),
             Carta("vermelho", "1"),
             Carta("vermelho", "1"),
             Carta("vermelho", "5"),
             Carta("vermelho", "5"),
             Carta("amarelo", "1"),
             Carta("vermelho", "1")
         ]
     else:
         self._monte = []
         for i in range(0, 50):
             self._monte.append(Carta("amarelo", "1"))
         self._monte.append(firstCard)