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)
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())