Beispiel #1
0
 def test_lowest_card_by_suit_empty(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     seven_spades = pyCardDeck.PokerCard("Spades", 7, "Seven")
     new_game.board[0] = pyCardDeck.PokerCard("Spades", 3, "Three")
     actual = players[0].lowest_card_that_wins(new_game.board[0])
     self.assertEqual([], actual)
Beispiel #2
0
 def test_update_winner_2(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     for i in range(20):
         players[0].hand.append(pyCardDeck.PokerCard("Spades", 10, "Ten"))
         players[1].hand.append(pyCardDeck.PokerCard("Spades", 9, "Ten"))
         new_game.play_full_turn()
     self.assertDictEqual(new_game.scores, {1:20, 2:0})
Beispiel #3
0
 def test_lowest_spade_that_wins1(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     seven_spades = pyCardDeck.PokerCard("Spades", 7, "Seven")
     players[0].hand.append(seven_spades)
     new_game.board[0] = pyCardDeck.PokerCard("Spades", 3, "Three")
     actual = players[0].lowest_spade_that_wins(new_game.board[0])
     self.assertEqual(seven_spades, actual)
Beispiel #4
0
 def test_only_off_suits(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     new_game.board[0] = pyCardDeck.PokerCard("Clubs", 2, "Two")
     players[0].hand.append(pyCardDeck.PokerCard("Hearts", 7, "Seven"))
     expected = ["LOWEST_OFF_SUIT"]
     actual = players[0].getLegalActions(new_game)
     self.assertEqual(expected, actual)
Beispiel #5
0
 def test_board_with_clubs(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     new_game.board[0] = pyCardDeck.PokerCard("Clubs", 2, "Two")
     players[0].hand.append(pyCardDeck.PokerCard("Clubs", 7, "Seven"))
     expected = ["HIGHEST_SAME_SUIT", "LOWEST_SAME_SUIT", "LOWEST_SAME_SUIT_WIN", "LOWEST_OFF_SUIT"]
     actual = players[0].getLegalActions(new_game)
     self.assertEqual(expected, actual)
Beispiel #6
0
 def test_update_winner(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     players[0].hand.append(pyCardDeck.PokerCard("Spades", 10, "Ten"))
     players[1].hand.append(pyCardDeck.PokerCard("Spades", 9, "Ten"))
     self.assertDictEqual(new_game.scores, {1:0, 2:0})
     new_game.play_turn()
     new_game.update_winner()
     self.assertDictEqual(new_game.scores, {1:1, 2:0})
Beispiel #7
0
 def test_reward_function_simple_loss(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     players[1].hand.append(pyCardDeck.PokerCard("Spades", 10, "Ten"))
     players[0].hand.append(pyCardDeck.PokerCard("Hearts", 10, "Ten"))
     new_game.play_turn()
     actual_reward = new_game.reward_function(players[0])
     expected_reward = -100
     self.assertEqual(expected_reward, actual_reward)
Beispiel #8
0
 def test_empty_board_only_spades(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     players[0].hand.append(pyCardDeck.PokerCard("Spades", 7, "Seven"))
     expected = ["HIGHEST_SPADE", "LOWEST_SPADE"]
     actual_actions = self.test_players[0].getLegalActions(new_game)
     self.assertEqual(expected, actual_actions)
Beispiel #9
0
 def test_board_rep_one_heart(self):
     players = self.test_players.copy()
     new_game = spades.Spades(players)
     new_game.board[0] = pyCardDeck.PokerCard("Hearts", 2, "Two")
     actual = players[0].create_board_representation(new_game)
     expected = ("H2", )
     self.assertEqual(expected, actual)
Beispiel #10
0
 def create_card(suit, rank):
     return pyCardDeck.PokerCard(suit, rank, "Card")