def test_not_winner(self): # Given jogador = Jogador([Carta("vermelho", "1")]) # When ganhou = self.gerenciador.verificarVencedor(jogador) # Then self.assertFalse(ganhou)
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)
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")
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)
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")
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)
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)