示例#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_Table_get_next_player(self):
     """Test Table.get_next_player() method."""
     players = [ Player(name="One", stack=100),
                 Player(name="Two", stack=200),
                 Player(name="Three", stack=500),
                 Player(name="Four", stack=0)
                 ]
     table = Table()
     table.seat_players(players, in_order=True)
     self.assertEqual(table.get_next_player(players[0]), players[1])
     self.assertEqual(table.get_next_player(players[1]), players[2])
     self.assertEqual(table.get_next_player(players[2]), players[3])
     self.assertEqual(table.get_next_player(players[3]), players[0])
     self.assertEqual(
         table.get_next_player(players[0], filter=lambda p: p.stack > 300),
         players[2])
     table.set_dealer(players[1])
     self.assertEqual(table.get_dealer(), players[1])
     self.assertEqual(str(table), "1: One 2: Two* 3: Three 4: Four")