示例#1
0
 def test_Table(self):
     """Test Table class"""
     table = Table()
     self.assertIsNotNone(table)
     self.assertEqual(table.number_of_seats, 9)
     self.assertEqual(len(table.players), 10)  # 9 + 1
     player = Player()
     table.seat_player(player, seat_number = 4)
     self.assertEqual(table.get_player_by_seat(4), player)
     self.assertEqual(table.get_player_seat(player), 4)
     self.assertEqual(len(table.get_seated_players()), 1)
     self.assertEqual(len(table.get_empty_seats()), 8)
     self.assertRaises(PlayerAlreadySeatedException,
                       table.seat_player, player)
     players = [ Player(), Player(), Player(), Player() ]
     table.seat_players(players)
     self.assertEqual(len(table.get_seated_players()), 5)
     self.assertEqual(len(table.get_empty_seats()), 4)
     player2 = Player()
     table.seat_player(player2)
     self.assertEqual(len(table.get_seated_players()), 6)
     self.assertEqual(len(table.get_empty_seats()), 3)
     player3 = Player()
     self.assertRaises(SeatFullException,
                       table.seat_player, player3, 4)
     players2 = [ Player(), Player(), Player(), Player() ]
     self.assertRaises(TableFullException,
                       table.seat_players, players2)
     table.random_dealer()
     self.assertIn(table.get_dealer(), table.get_seated_players())
     table.advance_dealer()
     self.assertIsInstance(table.__str__(), str)
示例#2
0
 def test_Game_play_hand(self):
     """Test Game.play_hand() method"""
     players = [ Player(name="Player One", stack=1000) ]
     table = Table(players = players)
     self.assertEqual(len(table.get_active_players()), 1)
     structure = Structure(Structure.LIMIT, ante=5, blinds=[10])
     game = Game(table, structure, console=self.console)
     # Trying to play a hand with only one player should be an exception
     with self.assertRaises(PokerGameStateException):
         game.play_hand()
     table.seat_players([
         Player(name="Player Two", stack=1000),
         Player(name="Player Three", stack=1000)
         ])
     self.assertEqual(len(table.get_active_players()), 3)
     hand_state = game.play_hand()
     self.assertIsInstance(hand_state, HandState)
     # Make sure all players states have been reset
     for player in table.get_seated_players():
         if player.stack > 0:
             self.assertTrue(player.is_active())
         else:
             self.assertTrue(player.is_sitting_out())